public IEnumerable<String> Get3CharStrings(char[] domain)
{
foreach(char a in domain)
foreach(char b in domain)
foreach(char c in domain)
yield return "" + a + b + c;
}
EDIT: Это на самом деле немного медленнее, чем решение LINQ, опубликованное Mehrdad, хотя большая часть различий заключается в использовании return "" + a + b + c
вместо return new string(new[] { a, b, c})
.
Фактическая статистика (алфавит из 26 символов, 10 000 итераций:
Код Мехрдада: 72,983 секунды
Мой код: 127,205 секунд
Мой код с оператором возврата Mehrdad: 75,055 секунд