如何在C#中将数字更改为字母?

时间:2011-05-22 11:31:07

标签: c# razor

我有这样的代码:

for (int i = 1; i < max; i++)
{
<div>@i</div>
<div>@test[i]</div>
}

我正在使用MVC3 razor语法,所以看起来有点奇怪。

我的最大值总是小于10,我希望有一个像“A”,“B”等的值出现在第一个而不是数字“1”,“2”..这是值我有没有一种简单的方法可以将我转换成一个字母,其中i = 1表示“A”,i = 2表示“B”。我需要在C#中执行此操作,我可以将其放在MVC3视图文件中。

Marife

4 个答案:

答案 0 :(得分:3)

就个人而言,我可能会将索引器用于字符串:

// Wherever you want to declare this
// As many as you'll need - the "X" is to put A=1
const string Letters = "XABCDEFGHIJKLMNOP";
...
<div>
for (int i = 1; i < max; i++)
{
<div>@i</div>
<div>@Letters[i]</div>
}

我觉得比位移等更简单,更灵活,虽然这肯定也有用。

答案 1 :(得分:2)

(char)(i + 64)将有效(65 ='A')

for (int i = 1; i < max; i++)
{
    char c = (char)(i + 64); // c will be in [A..J]
    ...
}

答案 2 :(得分:0)

您可以将i改为64(使用基于1的索引)并将int转换为char

答案 3 :(得分:0)

如果你不需要在其他任何地方使用我,你可以这样做:

for (Char ch = 'A'; ch < 'K'; ch++)
{
    MessageBox.Show(ch.ToString());
}

啊,刚刚意识到最后一个字母不是常数,所以你需要转换一个数字。