The syntax delegate() {...}is available in .NET 2. It essentially creates a (anonymous) method in the containing class that contains the contents of the delegate. So the syntax above is equivalent
private void actionImpl(string word) {
Console.WriteLine(word);
}
wordList.ForEach(new Action<string>(actionImpl));
List<T>.ForEach, . , . ,
wordList.ForEach(Console.WriteLine);
Console.WriteLine(string s) Action<string>. ( ) , foreach .