คุณสมบัติ Usefu ใน 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-only:
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และorในรูปแบบ
ต่อไปนี้คือตัวอย่างคำสั่ง switch ที่ใช้andตัวดำเนินการในรูปแบบ:
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)