При использовании .NET Framework, начиная с версии 3.5 и выше, можно использовать LINQ
Вариант 1: преобразовать результат выборки в List у которого можно вызвать метод ForEach, основной минус в перерасходе доп. ресурсов.
string[] words = { "Hello", "World!" };
(from word in words from letter in word select letter)
.ToList().ForEach(Console.WriteLine);
Вариант 2: не создаём List и не расходуем лишние ресурсы, а выполняем запрос сразу в цикле foreach.
string[] words = { "Hello", "World!" };
foreach(var letter in (from word in words
from letter in word
select letter))
Console.WriteLine(letter);
Для наглядности оба варианта содержат несколько операторов from, компилятор при этом вызывает
SelectMany, который выполняет вложенные циклы.
Вариант от
DarkByte2015 с применением SelectMany, возможно, кому-то покажется более элегантным.