将字符串解析为int数组

大家好,我正在努力增加我对C#的了解,我想做一个简单的任务,但我发现它很难。

我想将字符串的每个字符解析为int数组。

int[] d = new int[10]; private void button1_Click(object sender, EventArgs e) { s = textBox1.Text; d[2] = Convert.ToInt32(Convert.ToString(s[1])); d[3] = Convert.ToInt32(Convert.ToString(s[2])); d[4] = Convert.ToInt32(Convert.ToString(s[3])); d[5] = Convert.ToInt32(Convert.ToString(s[4])); ..... 

我知道代码错了,但我想展示一个例子。 过去一小时看过Google,但发现人们想要在新行中显示字符并使用if语句进行解析。 我想要类似于上面的东西。 可以这样做吗? 感谢您的时间。

我在Java中找到了这行代码,这正是我想做的,但有一个等效的吗?

  d1 = Integer.parseInt(String.valueOf(s.charAt(0))); 

我现在有一个新问题,当我提交一个数字时,无论我输入多少数字,都会返回“索引超出数组范围”。

我还需要将它限制为数组d中的10个整数。

错误的括号,用于访问字符串中的字符。

 d[2] = Convert.ToInt32(Convert.ToString(s(1))); ^ 

使用,

 d[2] = Convert.ToInt32(Convert.ToString(s[1])); 
  var intArr = "12345678".Select(c => (int)(c-'0')).ToArray(); 

试试这个:-

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

如果字符串如下所示,可以这样做

  string temps = "-5 8 4 0 1 17 25 -5 -3"; int[] integerArray = temps.Split(' ').Select(x => int.Parse(x)).ToArray(); Array.Sort(integerArray); foreach (var item in integerArray) { Console.WriteLine(item); }