Узнав о делегате Action в C#, я искал способы, которыми я могу лучше всего использовать его в своем коде. Я придумал такой шаблон:
Action<string> DoSomething = (lSomething) =>
{
// Do something
};
DoSomething("somebody");
DoSomething("someone");
DoSomething("somewhere");
Если бы я использовал традиционный цикл, это выглядело бы примерно так:
List<string> lSomeList = new List<string>();
lSomeList.Add("somebody");
lSomeList.Add("someone");
lSomeList.Add("somewhere");
foreach (string lSomething in lSomeList)
{
// Do something
}
Есть ли заметные различия между ними? Мне они кажутся одинаково простыми для понимания и поддержки, но есть ли какие-то другие критерии, которые я мог бы использовать, чтобы различать, когда один из них предпочтительнее другого?