2011-11-15 175 views
3

我正在輸入一個文本框。我已經保存從文本框中輸入數字到一個數組是這樣的:如何將char數組轉換爲int?

char[] _array = textBox1.Text.ToCharArray(0, textBox1.Text.Length); 

現在我想將數組轉換爲int數組,因爲我想在陣列中的每個指標進行數學運算。

我該如何實現目標? 謝謝。

+2

我們需要知道你的意圖。你期待一串數值還是你想把每個'char'轉換成它的字符代碼? –

+0

您是否實施了代碼以確保文本框輸入是數字?上面的代碼只是將文本框中的每個字符轉換爲其數字CHAR值就是您的意圖,還是要將輸入字符串轉換爲int,即「1234」轉換爲1234? – Maess

+0

我想獲得數值。 分別位於陣列特定索引處的每個數字。 –

回答

1

我解決了我的問題。我用列表來完成任務。

在將每個索引值轉換爲int後,我將每個數組索引存儲在列表的相對索引處。

使用列表似乎更方便我的方式。 :)

感謝大家。

10

如果你只是想要每個字符的字符代碼,你可以用LINQ來完成。

var intArrayOfText = "some text I wrote".ToCharArray().Select(x => (int)x); 

var intArrayOfText = someTextBox.Text.ToCharArray().Select(x => (int)x); 
+0

很好用的LINQ :) – RBT

1

假設我問我的意見是正確的:

string[] ints = { "1", "2", "3" }; 

var str = ints.Select(i => int.Parse(i)); 

然而,上述只會工作,如果你已經證實,從文本的輸入框是數字。

5

如果預期是一個數字的每個字符,可以將其解析爲int:

List<int> listOfInt = new List<int>(); 
_array.ToList().ForEach(v => listOfInt.Add(int.Parse(v.ToString()))); 
int[] _intArray = listOfInt.ToArray(); 

字符代碼值:

List<int> listOfCharValue = new List<int>(); 
_array.ToList().ForEach(v => listOfCharValue.Add((int)v)); 
int[] _charValueArray = listOfCharValue.ToArray(); 

你需要處理異常。