C# 7.0 中的解构函数是什么?

csharpserver side programmingprogramming更新于 2025/9/8 15:52:17

C# 允许在同一程序中使用多个解构函数,这些解构函数具有相同数量的输出参数,或者具有相同数量和类型的输出参数,但顺序不同。

它是新元组语法的一部分 - 与 Tuple<> 类无关,而是源自函数式编程。

解构函数使用 Deconstruct 关键字

示例

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

相关文章