Существует много способов перебора коллекции. Любопытно, есть ли какие-либо различия или почему вы бы использовали один способ по сравнению с другим.
Первый тип:
List<string> someList = <some way to init>
foreach(string s in someList) {
<process the string>
}
Другой способ:
List<string> someList = <some way to init>
someList.ForEach(delegate(string s) {
<process the string>
});
Полагаю, что вместо того анонимного делегата, которого я использую выше, у вас будет делегат многократного использования, который вы можете указать ...