有时候,我们编程时喜欢写一些长语句、很复杂的语句。但是有时后可能又想使用其中的某个中间变量,但又不想破坏原来语句的语法结构。这时候out关键字就可以派上用场了。
定义一个方法
public class Ref
{
public static T Var<T>(out T name, T v)
{
return name = v;
}
public static T Clone<T>(out T name, T v)where T:class,ICloneable
{
name = v.Clone() as T;
return v;
}
}
使用
var result = Ref.Var(out var sum, 1+3) * 5;
var k = sum * 10;
这样既保留原来的语法结构,方便阅读,理解。同时又可以取出中间的变量。
当然还可以实现拷贝中间变量的副本,如果T是struct类型,使用第一个方法就是拷贝了。