0

您好我正在尝试获取添加到文本框中的数字,然后单击按钮将数字添加到我的列表中,例如用户可以输入:

123456

所以这会变成:

1

2

3等

我不确定如何分隔每个数字并将其添加到列表中?

        List<int> integerList = new List<int>();

        try
        {
            int number = int.Parse(textBox1.Text);                
            for (int i = 0; i < number; i++)
            {
                integerList.Add(number);
                listBox1.Items.Add(number);
            }
4

6 回答 6

2
var list = textBox1.Text.Select(c => int.Parse(c.ToString()))
                        .ToList();
于 2013-05-15T10:34:45.903 回答
1
        List<int> integerList = new List<int>();

        foreach(char c in textBox1.Text)
        {
          int x = int.Parse(c.ToString());
          integerList.Add(x);
          listBox1.Items.Add(x);
        }

还是您想要这样做:

   List<int> integerList = new List<int>();
   for(int i = 0; i < int.Parse(textBox1.Text); i++)
   {
      integerList.Add(i);
      listBox1.Items.Add(i);
   }
于 2013-05-15T10:24:07.437 回答
1

您可以使用索引器来获取字符串的字符。

try
{          
    for (int i = 0; i < textBox1.Text.Length; i++)
    {
         integerList.Add(int.Parse(textBox1.Text[i].ToString());
         listBox1.Items.Add(textBox1.Text[i]);
    }
 }

您也可以使用LINQ

List<int> integerList = new List<int>();
textBox1.Text.Select(c=>Convert.ToInt32(c).ToString()).ToList();
于 2013-05-15T10:24:44.103 回答
1

所以使用这个代码:

 List<int> integerList = new List<int>();

 foreach (char c in textBox1.Text)
  {
   var d = int.Parse(c.ToString());
   integerList.Add(d);
  }
于 2013-05-15T10:25:35.547 回答
0

你也可以使用这个,我测试过它有效:

        foreach (char n in textBox1.Text)
        {
            int number = int.Parse(n.ToString());
            listBox1.Items.Add(number);
        }
于 2013-05-15T11:32:22.777 回答
0
int x = int.Parse(textBox1.Text); 
List<int> integerList = new List<int>();

x = Math.Abs(x);
while (x >= 1)
{
     integerList.Add(x % 10);
     x = x / 10;
}
integerList.Reverse();
于 2013-05-15T10:33:40.917 回答