Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C# 7.0의 분해자는 무엇입니까?

<시간/>

C#을 사용하면 동일한 수의 out 매개변수 또는 동일한 수와 유형의 out 매개변수를 다른 순서로 사용하여 동일한 프로그램에서 여러 분해자 메서드를 사용할 수 있습니다.

이것은 새로운 튜플 구문의 일부입니다. 이것은 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