如果我将它转换为字符串,我有一个打印 AZ 的 char 数组,但是当我尝试从索引位置获取字符时,我什么也没得到?..
char[] codes= new char[156];
for (int i = 65; i < 91; i++) codes[i] = (char)i;
Console.WriteLine(codes[2]);
因为您开始将char
's 存储在索引 65..
Console.WriteLine(codes[65]); // A
这与您创建了一个巨大的数组但仅填充其中的一小部分并索引到不包含数据的部分有关。
您可以考虑使用范围进行简化..
var chars = Enumerable.Range(65, 90).Select(c => (char)c).ToArray();
Console.WriteLine(chars[2]);
或者您可以将您的代码修改为此。
char[] codes = new char[26];
for (int i = 0; i < 26; i++)
{
codes[i] = (char)i;
codes[i] += 'A';
}
Console.WriteLine(codes[2]);
你试试下面的代码 Console.WriteLine(codes[2].ToString()); 原因是 Console.WriteLine 只能显示字符串值。