CSharp10WithExpression

CSharp · Console

/Program.cs

using System;
					
public class Program
{
	public struct Point 
	{
		public Point(double x, double y) {
			X = x;
			Y = y;
		}
		public double X { get; init; }
		public double Y { get; init; }
		public override string ToString() => $"({X}, {Y})";
	}
	
	public static void Main()
	{
		var p1 = new Point(10, 10);
		var p2 = p1 with { Y = 12 };
		Console.WriteLine(p1);
		Console.WriteLine(p2);
		
		var a1 = new { X = 10, Y = 10} ;
		var a2 = a1 with {X = 12 };
		Console.WriteLine(a1);
		Console.WriteLine(a2);
	}
}
;