Char数组不会在索引处打印

时间:2012-11-14 05:13:57

标签: c# .net

如果我将它转换为字符串,我有一个打印A-Z的字符数组但是当我尝试从索引位置获取字符时,我什么也得不到? ..

    char[] codes= new char[156];
    for (int i = 65; i < 91; i++) codes[i] = (char)i;
    Console.WriteLine(codes[2]);

4 个答案:

答案 0 :(得分:4)

因为您开始将char存储在索引65 ..

Console.WriteLine(codes[65]); // A

答案 1 :(得分:0)

这与你创建了一个巨大的数组但只填充它的一小部分并索引到不包含数据的部分这一事实有关。

您可以考虑使用范围简化..

var chars = Enumerable.Range(65, 90).Select(c => (char)c).ToArray();
Console.WriteLine(chars[2]);

答案 2 :(得分:0)

或者您可以将代码修改为此。

char[] codes = new char[26];
for (int i = 0; i < 26; i++)
{
    codes[i] = (char)i;
    codes[i] += 'A';
}

Console.WriteLine(codes[2]);

答案 3 :(得分:-1)

您尝试以下代码 Console.WriteLine(代码[2]的ToString()); 原因是Console.WriteLine只能显示字符串值。