Как я могу изменить цифры на буквы в C # - PullRequest
1 голос
/ 22 мая 2011

У меня есть такой код:

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

Я использую синтаксис бритвы MVC3, поэтому это может выглядеть немного странно.

Мой максимум всегда меньше десяти, и я хотел бы, чтобы между первым вместо числа «1», «2»… было указано значение «A», «B» и т. Д.это значение я.Есть ли простой способ, которым я могу преобразовать i в букву, где i = 1 представляет «A», а i = 2 представляет «B».Мне нужно сделать это в C #, который я могу поместить в мой файл представления MVC3.

Марифе

Ответы [ 4 ]

3 голосов
/ 22 мая 2011

Лично я бы, вероятно, использовал индексатор в строку:

// 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>
}

Я считаю, что это проще и более гибко, чем битовое смещение и т. Д., Хотя это, безусловно, будет работать.

2 голосов
/ 22 мая 2011

(char)(i + 64) будет работать (65 = 'A')

for (int i = 1; i < max; i++)
{
    char c = (char)(i + 64); // c will be in [A..J]
    ...
}
0 голосов
/ 22 мая 2011

Если вам не нужно использовать i где-либо еще, вы можете сделать это:

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

Ах, только что понял, что последняя буква не является константой, поэтому вам нужно преобразовать число где-нибудь.

0 голосов
/ 22 мая 2011

Вы можете сдвинуть i на 64 (с индексом на основе 1) и привести свой int к char.

...