C# 9 の便利な機能
Mar 09 2023
init-only プロパティを持つクラスの例を次に示します。 トップレベルのステートメントを使用した単純なプログラムの例を次に示します。 4. パターン マッチングの改善: C# 9 では、パターン マッチングにいくつかの改善が導入され、パターン マッチングがより簡単かつ表現力豊かになりました。
- レコード: レコードは C# 9 の新しい型で、主にデータを保存することを目的とした型を作成できます。これらはクラスの代わりに使用できますが、使いやすく、より表現力豊かにするための追加機能がいくつかあります。
public record Person(string FirstName, string LastName);
var person = new Person(“John”, “Doe”);
Console.WriteLine(person.FirstName); // Output: John
Console.WriteLine(person.LastName); // Output: Doe
以下は、init 専用プロパティを持つクラスの例です。
public class Person
{
public string FirstName { get; init; }
public string LastName { get; init; }
}
var person = new Person { FirstName = “John”, LastName = “Doe” };
person.FirstName = “Jane”; // Error: cannot modify readonly property
最上位のステートメントを使用した簡単なプログラムの例を次に示します。
using System;
Console.WriteLine("Hello, world!");
4. パターン マッチングの改善: C# 9 ではパターン マッチングにいくつかの改善が導入され、パターン マッチングがより簡単かつ表現力豊かになりました。and最も注目すべき改善点の 1 つは、パターン内でおよび演算子を使用できることですor。
andパターンで演算子を使用する switch ステートメントの例を次に示します。
switch (obj)
{
case string s and { Length: > 10 }:
Console.WriteLine($”The string ‘{s}’ is longer than 10 characters.”);
break;
case string s:
Console.WriteLine($”The string ‘{s}’ has length {s.Length}.”);
break;
case int i:
Console.WriteLine($”The integer value is {i}.”);
break;
default:
Console.WriteLine(“Unknown type.”);
break;
}
これらは、C# 9 の多くの新機能のほんの一部です。これらおよびその他の機能の詳細については、Microsoft の公式ドキュメントを参照してください。

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































