c#入门-解构方法
解构方法
解构方法可以让实例能像元组一样被析构,或使用模式匹配的位置模式。
解构方法是公开无返回值的,名为Deconstruct的方法。所有参数均为out参数。
var a = new Task(); var (b, c) = a; class Task { public void Deconstruct(out int a, out int b) { a = b = 0; } }
特殊语法只会寻找这个类里是否有名字,返回值,参数符合要求的方法。
如果找不到,那么扩展方法也会纳入寻找范围。
public static class Extend { public static void Deconstruct(this Range range,out Index start,out Index end) { start = range.Start; end = range.End; } }
Range r = ..; var (s, e) = r;
漫思