Ваша проблема в том, что у вас есть 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()