「C Sharp」の版間の差分

ナビゲーションに移動 検索に移動
→‎record型: レコードの各要素にアクセスするにはレコード名.要素名でアクセスできる。
(→‎record型: レコードの各要素にアクセスするにはレコード名.要素名でアクセスできる。)
 
=== record型 ===
C#9からrecord型が追加された。書き換えを禁じるデータ構造である
 
2022年6月現在、マイクロソフト Docs 公式サイトにあるコードでは、なぜかエラーになる[https://docs.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-9?WT.mc_id=DT-MVP-5002467#record-types 『C# 9.0 の新機能 - C# ガイド | Microsoft Docs』]。下記のように修正すると、なぜか成功する。
 
なお、確認に用いた .net sdk のバージョンはFedora では 6.0.105 である。
 
 
レコードの各要素にアクセスするには<code>レコード名.要素名</code>でアクセスできる。しかし書き換えは出来ない。書き換えさえしなければ、閲覧などは出来る。
 
:<syntaxhighlight lang="csharp">
Hito hito = new("Tom", "Davolio");
Console.WriteLine(hito);
 
// hito.FirstName = "John"; // レコードを書き換えようとするとエラーになる。
Console.WriteLine(hito.FirstName );
 
record Hito(string FirstName, string LastName);
 
// Console.WriteLine(hito.LastName ); // ここに書くとエラーになる
</syntaxhighlight>
; 実行結果 :<syntaxhighlight lang="text">
Hito { FirstName = Tom, LastName = Davolio }
Tom
</syntaxhighlight>
 
 
 
23,166

回編集

案内メニュー