重複の可能性:
文字列/整数のすべての順列を一覧表示
例えば、
aaa .. aaz .. aba .. abz .. aca .. acz .. azz .. baa .. baz .. bba .. bbz .. zzz
基本的に、バイナリを数えることを想像してくださいが、0から1になる代わりに、aからzになります。
私はこれを無駄にしようとしてきましたが、式はかなり複雑になっています。もっと簡単な方法があるかどうかはわかりません。
編集
私は現在このようなものを持っていますが、それは完全にはなく、より良い方法があるかどうかはわかりません:
private IEnumerable<string> GetWordsOfLength(int length)
{
char letterA = 'a', letterZ = 'z';
StringBuilder currentLetters = new StringBuilder(new string(letterA, length));
StringBuilder endingLetters = new StringBuilder(new string(letterZ, length));
int currentIndex = length - 1;
while (currentLetters.ToString() != endingLetters.ToString())
{
yield return currentLetters.ToString();
for (int i = length - 1; i > 0; i--)
{
if (currentLetters[i] == letterZ)
{
for (int j = i; j < length; j++)
{
currentLetters[j] = letterA;
}
if (currentLetters[i - 1] != letterZ)
{
currentLetters[i - 1]++;
}
}
else
{
currentLetters[i]++;
break;
}
}
}
}