2011-05-22 294 views
1

我有這樣的代碼:我怎樣才能改變數字到字母C#

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

我使用MVC3剃刀語法,因此它可能看起來有點怪。

我的最大值總是小於10,我想有像「A」,「B」 ...等的值的第一個,而不是數字「1」之間出現,「2」 ...這是我的價值。有一種簡單的方法,我可以我轉換爲字母其中,i = 1代表「A」且i = 2代表「B」。我需要在C#中執行此操作,我可以將它放在我的MVC3視圖文件中。

Marife

回答

2

(char)(i + 64)將工作(65 = 'A')

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

您可以通過64(與A-1開始的索引)轉移i和投你intchar

+0

你能給我一個例子嗎?我的C#是不擅長所有 – 2011-05-22 11:39:25

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

我得給你,這是一個不錯的主意。 – briantyler 2011-05-22 12:18:32

0

如果你不需要使用我其他地方,你可以這樣做:

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

啊,只是實現的最後一個字母是不是恆定的,所以你需要轉換若干somwwehere。

+0

您還需要提供一種方法做測試'[I]'你的方法。 – Gabe 2011-05-22 12:12:39