「C Sharp」の版間の差分

ナビゲーションに移動 検索に移動
</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}}
23,094

回編集

案内メニュー