in、out、ref区别
In:过程不会改写In的内容(函数内部读,不能修改)
Out和out:传入的值不会被过程所读取,但过程可以写 (传值之前不用初始化,在函数内部必须初始化)
ref:传入的值,过程会读,也会写(传值之前必须初始化,在函数内部可以读、写)
public delegate TResult Func<in T, out TResult>(T arg);
public delegate void Action<in T>(T obj);
In:过程不会改写In的内容(函数内部读,不能修改)
Out和out:传入的值不会被过程所读取,但过程可以写 (传值之前不用初始化,在函数内部必须初始化)
ref:传入的值,过程会读,也会写(传值之前必须初始化,在函数内部可以读、写)
public delegate TResult Func<in T, out TResult>(T arg);
public delegate void Action<in T>(T obj);