Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Deconstructors ใน C # 7.0 คืออะไร?


C# อนุญาตให้ใช้เมธอด deconstructor หลายแบบในโปรแกรมเดียวกันโดยมีจำนวนพารามิเตอร์เอาต์เท่ากันหรือจำนวนและประเภทของพารามิเตอร์เอาต์เหมือนกันในลำดับที่ต่างกัน

มันเป็นส่วนหนึ่งของไวยากรณ์ tuple ใหม่ - ซึ่งไม่มีส่วนเกี่ยวข้องกับคลาส Tuple<> แต่มาจากการเขียนโปรแกรมเชิงฟังก์ชัน

คีย์เวิร์ด Deconstruct ใช้สำหรับ Deconstructors

ตัวอย่าง

public class Employee{
   public Employee(string employeename, string firstName, string lastName){
      Employeename = employeename;
      FirstName = firstName;
      LastName = lastName;
   }
   public string Employeename { get; }
   public string FirstName { get; }
   public string LastName { get; }
   public void Deconstruct(out string employeename, out string firstName, out
   string lastName){
      employeename = Employeename;
      firstName = FirstName;
      lastName = LastName;
   }
}
class Program{
   public static void Main(){
      Employee employee = new Employee("emp", "fname", "lname");
      (string EName, string Fname, string Lname) = employee;
      System.Console.WriteLine(EName);
      System.Console.WriteLine(Fname);
      System.Console.WriteLine(Lname);
      Console.ReadLine();
   }
}

ผลลัพธ์

emp
fname
lname