什么是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只是一个方法的委托,除了单个字符串参数并且没有返回任何内容。