都是3.5的新特性,理解委託就能理解這兩個了,下面看用法 func<T,TResult> : T為可傳引數,允許多個;TResult為返回值,永遠都是最後一個. //1.使用匿名委託方式
Func<int, int, int> add1 = delegate(int i, int j)
{
return i + j;
};
//2.使用方法委託方式
Func<int, int, int> add2 = new Func<int, int, int>(this.add);
//3.使用lamdba方式
Func<int, int, int> add3 = (n1, n2) => { return n1 + n2; }; action<T>:與func類似,只是沒有返回值而已 Action<DateTime> action1 = d => { this.lblResult.Text = d.ToString("D"); };
action1(DateTime.Parse(this.txtText.Text)); Predicate<T>:可以有返回值
Predicate<string> p1 = d => { return d != null; };
bool b = p1(null);
都是3.5的新特性,理解委託就能理解這兩個了,下面看用法 func<T,TResult> : T為可傳引數,允許多個;TResult為返回值,永遠都是最後一個. //1.使用匿名委託方式
Func<int, int, int> add1 = delegate(int i, int j)
{
return i + j;
};
//2.使用方法委託方式
Func<int, int, int> add2 = new Func<int, int, int>(this.add);
//3.使用lamdba方式
Func<int, int, int> add3 = (n1, n2) => { return n1 + n2; }; action<T>:與func類似,只是沒有返回值而已 Action<DateTime> action1 = d => { this.lblResult.Text = d.ToString("D"); };
action1(DateTime.Parse(this.txtText.Text)); Predicate<T>:可以有返回值
Predicate<string> p1 = d => { return d != null; };
bool b = p1(null);