什么是Action ?
什么是Action
,它如何使用?
Action
是一个标准委托,具有一到四个参数(.NET 4中为16)并且不返回值。 它用于表示动作。
Action print = (x) => Console.WriteLine(x); List names = new List { "pierre", "paul", "jacques" }; names.ForEach(print);
还有其他预定义的委托:
-
Predicate
,委托有一个参数并返回一个布尔值。Predicate
predicate = ((number) => number > 2); var list = new List { 1, 1, 2, 3 }; var newList = list.FindAll(predicate); -
Func
是更通用的,它有1到4个参数(在.NET 4中为16)并返回一些东西
这是具有签名void Bla(string parameter)
的函数的委托。 您可以使用它将函数传递给其他函数。 例如,你可以这样做
Action action = (x => Console.WriteLine(x)); new List {"1","2","3"}.ForEach(action);
将所有字符打印到控制台
它是一个带有一个参数的委托,这是一个字符串。
有用,因为它意味着您不必再为操作创建委托,只要您可以对它们使用标准操作(即参数的数量是固定的,没有默认值,您可以只使用现有操作)。
public void ValidateInput(string input) { //some code } public void test() { Action action = ValidateInput; }
它基本上只是一个不返回值的委托。
看看这里: http : //msdn.microsoft.com/en-us/library/018hxwa8.aspx
Action
只是一个方法的委托,除了单个字符串参数并且没有返回任何内容。