天天看点

通过ref返回解决C# struct结构体链式调用的问题

通常结构体不能进行链式调用,因为返回值是一个新的值,需要赋回原值。但现在通过ref关键字配合扩展方法,也能进行链式调用了。

结构体:

执行测试:

那么借助c#新的ref关键字,我们可以引用返回结构:

但是编译器不能通过,没关系,可以通过扩展方法实现。

扩展方法实现ref返回:

结构:

扩展方法:

调用测试:

可见,结果正确。并且使用ref,函数返回时不会创建新的结构体。

继续阅读