通常结构体不能进行链式调用,因为返回值是一个新的值,需要赋回原值。但现在通过ref关键字配合扩展方法,也能进行链式调用了。
结构体:
执行测试:
那么借助c#新的ref关键字,我们可以引用返回结构:
但是编译器不能通过,没关系,可以通过扩展方法实现。
扩展方法实现ref返回:
结构:
扩展方法:
调用测试:
可见,结果正确。并且使用ref,函数返回时不会创建新的结构体。
通常结构体不能进行链式调用,因为返回值是一个新的值,需要赋回原值。但现在通过ref关键字配合扩展方法,也能进行链式调用了。
结构体:
执行测试:
那么借助c#新的ref关键字,我们可以引用返回结构:
但是编译器不能通过,没关系,可以通过扩展方法实现。
扩展方法实现ref返回:
结构:
扩展方法:
调用测试:
可见,结果正确。并且使用ref,函数返回时不会创建新的结构体。