Что такое Действие <строка>?

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

18
задан Jim Counts 14 May 2010 в 12:41
поделиться

6 ответов

Действие - это стандартный делегат, который имеет от одного до 4 параметров (16 в .NET 4) и не возвращает значения. Он используется для обозначения действия.

Action<String> print = (x) => Console.WriteLine(x);

List<String> names = new List<String> { "pierre", "paul", "jacques" };
names.ForEach(print);

Есть и другие предопределенные делегаты:

  • Предикат , делегат, который имеет один параметр и возвращает логическое значение.

     Предикат  predicate = ((число) => число> 2); 
    var list = new List  {1, 1, 2, 3}; 
    var newList = list.FindAll (предикат); 
     
  • Func является более общим, он имеет от 1 до 4 параметров (16 в .NET 4) и возвращает что-то

39
ответ дан 30 November 2019 в 06:05
поделиться

Это делегат с одним параметром, это строка.

Полезно, потому что это означает, что вам больше не нужно создавать делегатов для действий, если вы можете использовать для них стандартное действие (т.е. количество параметров фиксировано, значений по умолчанию нет, и вы можете просто использовать существующее действие).

6
ответ дан 30 November 2019 в 06:05
поделиться

вот небольшое и простое введение в Action:

http://www.c-sharpcorner.com/UploadFile/rmcochran/anonymousMethods04022006141542PM/anonymousMethods.aspx

0
ответ дан 30 November 2019 в 06:05
поделиться
public void ValidateInput(string input)
{
   //some code
}

public void test()
{
   Action<string> action = ValidateInput;
}
2
ответ дан 30 November 2019 в 06:05
поделиться

Это делегат функции с подписью void Bla (строковый параметр) . Вы можете использовать это для передачи функций другим функциям. Например, вы можете сделать это

Action<string> action = (x => Console.WriteLine(x));
new List<string>{"1","2","3"}.ForEach(action);

, чтобы вывести все символы на консоль

10
ответ дан 30 November 2019 в 06:05
поделиться

По сути, это просто делегат, который не возвращает значение.

Посмотрите здесь: http://msdn.microsoft.com/en-us/library/018hxwa8.aspx

Action будет просто делегатом метода, который принимает единственный строковый параметр и ничего не возвращает.

1
ответ дан 30 November 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: