Bob*_*Bob 182
我不认为有内置的方式,但我认为最简单的方法
char[] alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
Run Code Online (Sandbox Code Playgroud)
Pop*_*lin 99
C#3.0:
char[] az = Enumerable.Range('a', 'z' - 'a' + 1).Select(i => (Char)i).ToArray();
foreach (var c in az)
{
Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)
是的,即使Enumerable.Range的唯一重载接受int参数,它确实有效;-)
Sim*_*mon 50
for (char letter = 'A'; letter <= 'Z'; letter++)
{
Debug.WriteLine(letter);
}
Run Code Online (Sandbox Code Playgroud)
Raz*_*dze 32
char[] alphabet = Enumerable.Range('A', 26).Select(x => (char)x).ToArray();
Run Code Online (Sandbox Code Playgroud)
Nye*_*uds 20
我写这个是为了获得MS excel列代码(A,B,C,...,Z,AA,AB,...,ZZ,AAA,AAB,...)基于1的索引.(当然,切换到零基础只是column--;在开始时离开.)
public static String getColumnNameFromIndex(int column)
{
column--;
String col = Convert.ToString((char)('A' + (column % 26)));
while (column >= 26)
{
column = (column / 26) -1;
col = Convert.ToString((char)('A' + (column % 26))) + col;
}
return col;
}
Run Code Online (Sandbox Code Playgroud)
rp.*_*rp. 13
假设你的意思是英文字母的字母......
for ( int i = 0; i < 26; i++ )
{
Console.WriteLine( Convert.ToChar( i + 65 ) );
}
Console.WriteLine( "Press any key to continue." );
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
您可以根据字符的ascii值执行类似的操作:
char[26] alphabet;
for(int i = 0; i <26; i++)
{
alphabet[i] = (char)(i+65); //65 is the offset for capital A in the ascaii table
}
Run Code Online (Sandbox Code Playgroud)
(请参阅此处的表.)您只是将字符的int值转换为字符值 - 但是,这仅适用于不同语言的ascii字符等.
编辑: 正如Mehrdad在对类似解决方案的评论中所建议的那样,最好这样做:
alphabet[i] = (char)(i+(int)('A'));
Run Code Online (Sandbox Code Playgroud)
这会将A字符转换为它的int值,然后根据此值递增,因此它不是硬编码的.
另请注意,字符串有一个operator [],它返回一个Char,并且是一个IEnumerable<char>,因此对于大多数用途,您可以使用字符串作为char [].因此:
string alpha = "ABCDEFGHIJKLMNOPQRSTUVQXYZ";
for (int i =0; i < 26; ++i)
{
Console.WriteLine(alpha[i]);
}
foreach(char c in alpha)
{
Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是没有人提出了一种产量解决方案:
public static IEnumerable<char> Alphabet()
{
for (char letter = 'A'; letter <= 'Z'; letter++)
{
yield return letter;
}
}
Run Code Online (Sandbox Code Playgroud)
例子:
foreach (var c in Alphabet())
{
Console.Write(c);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
var alphabets = Enumerable.Range('A', 26).Select((num) => ((char)num).ToString()).ToList();
Run Code Online (Sandbox Code Playgroud)