Как я могу хранить буквы алфавита в массиве и отображать его? C # - PullRequest
0 голосов
/ 18 ноября 2018

Я должен использовать for(char letter='A';letter<='Z'....).Когда я делаю это, используя следующий код, алфавит повторяется около 12 раз.

char[] alphabet = new char[26];
for (int i = 0; i < alphabet.Length; i++)
{
    for (char letter = 'A'; letter <= 'Z'; letter++)
    {
        alphabet[i] = letter;
        Console.WriteLine(alphabet[i]);
    }
}
Console.ReadKey();

1 Ответ

0 голосов
/ 18 ноября 2018

Ваша проблема в том, что у вас есть 2 цикла, когда вам нужен только один и / или индекс

var alphabet = new char[26];
var i = 0;

for (var letter = 'A'; letter <= 'Z'; letter++)
    alphabet[i++] = letter;

foreach (var c in alphabet)
    Console.WriteLine(c);

// or index

var alphabet = new char[26];
for (var i = 0; i < 26; i++)
    alphabet[i] = (char)(i + 'A');

foreach (var c in alphabet)
    Console.WriteLine(c);


// or a linq solution

var chars = Enumerable.Range('A', 26)
                    .Select(x => (char)x)
                    .ToArray();

foreach (var c in chars)
    Console.WriteLine(c);

Или как предусмотрено Фабио

Я думаю, что алфавит никогда не изменится, поэтому вы можете жестко закодировать его

var ary = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...