using System; // Point レコードの定義 public record Point(int X, int Y); public class Program { static void Main() { var p1 = new Point(1, 2); // 「with 式」によるレコードの初期化 var p2 = p1 with { X = 3 }; // p1 の内容が p2 にコピーされ、X プロパティだけ書き換わっている Console.WriteLine(p1); // Point { X = 1, Y = 2 } Console.WriteLine(p2); // Point { X = 3, Y = 2 } } }