23,094
回編集
M (→条件分岐) |
(→record型: with) |
||
</syntaxhighlight>
record型の実体は書き換えできませんが、現物を残したうえで、コピーをして部分的に書き換えることは<code>with</code>を使うことで可能です。
:<syntaxhighlight lang="csharp">
Person person01 = new ("Nancy", "Davolio");
Console.WriteLine(person01);
var person02 = person01 with{FirstName = "John"};
Console.WriteLine(person02);
Console.WriteLine(person01);
record Person(string FirstName, string LastName);
</syntaxhighlight>
; 実行結果 :<syntaxhighlight lang="text">
Person { FirstName = Nancy, LastName = Davolio }
Person { FirstName = John, LastName = Davolio }
Person { FirstName = Nancy, LastName = Davolio }
</syntaxhighlight>
実行結果の2行目と3行目を見比べれば分かるように、2行目の結果でwith書き換えをした派生変数 person02 を作成しても、もとのrecord型変数 person01 はそのままです。
{{NDC|007.64}}
|
回編集