Подтвердить что ты не робот

Что такое Action <string>?

Что такое Action<string>, как его можно использовать?

4b9b3361

Ответ 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> будет просто делегатом метода, который исключает один строковый параметр и ничего не возвращает.