Что такое Action<string>
, как его можно использовать?
Что такое Action <string>?
Ответ 1
Action
является стандартным делегатом, который имеет от одного до 4 параметров (16 в .NET 4) и не возвращает значение. Он использовался для представления действия.
Action<String> print = (x) => Console.WriteLine(x);
List<String> names = new List<String> { "pierre", "paul", "jacques" };
names.ForEach(print);
Существуют и другие предопределенные делегаты:
-
Predicate
, делегат, который имеет один параметр и возвращает логическое значение.Predicate<int> predicate = ((number) => number > 2); var list = new List<int> { 1, 1, 2, 3 }; var newList = list.FindAll(predicate);
-
Func
является более общим, он имеет от 1 до 4 параметров (16 в .NET 4) и возвращает что-то
Ответ 2
Это делегат функции с сигнатурой
void Bla(string parameter)
. Вы можете использовать это для передачи функций другим функциям.
Например, вы можете сделать это
Action<string> action = (x => Console.WriteLine(x));
new List<string>{"1","2","3"}.ForEach(action);
для печати всех символов на консоли
Ответ 3
Это делегат с одним параметром, это строка.
Полезно, потому что это означает, что вам больше не нужно создавать делегаты для действий, пока вы можете использовать для них стандартное действие (т.е. количество параметров фиксировано, значения по умолчанию и вы можете просто использовать существующее действие).
Ответ 4
public void ValidateInput(string input)
{
//some code
}
public void test()
{
Action<string> action = ValidateInput;
}
Ответ 5
В основном это просто делегат, который не возвращает значение.
Посмотрите здесь: http://msdn.microsoft.com/en-us/library/018hxwa8.aspx
Action<string>
будет просто делегатом метода, который исключает один строковый параметр и ничего не возвращает.
Ответ 6
вот небольшое и легкое введение Action: