有時候,我們編程時喜歡寫一些長語句、很複雜的語句。但是有時後可能又想使用其中的某個中間變量,但又不想破壞原來語句的語法結構。這時候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類型,使用第一個方法就是拷貝了。