คุณสมบัติ Usefu ใน C # 9

Mar 09 2023
นี่คือตัวอย่างของคลาสที่มีคุณสมบัติ init-only: นี่คือตัวอย่างของโปรแกรมอย่างง่ายที่ใช้คำสั่งระดับบนสุด: 4. ปรับปรุงการจับคู่รูปแบบ: C# 9 แนะนำการปรับปรุงหลายอย่างในการจับคู่รูปแบบ ทำให้ง่ายขึ้นและแสดงออกมากขึ้น
  1. ระเบียน : ระเบียนเป็นประเภทใหม่ใน 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