读取多个输入(窗体)

时间:2016-02-26 02:40:41

标签: c# winforms

我有一个单TextBox的表单,用于输入整数。如果用户输入多个整数(用逗号分隔或不用),我怎么能单独阅读它们?

2 个答案:

答案 0 :(得分:3)

var inputString = txtIntegers.Text;
        List<int> integres = new List<int>();
        if (!String.IsNullOrEmpty(inputString))
        {
            char[] inputChars = inputString.ToCharArray();
            int output = 0;
            foreach(char inputchar in inputChars)
            {
               bool conversionSuccess = int.TryParse(inputchar.ToString(), out output);
               if (conversionSuccess)
               {
                   integres.Add(output);
                   output = 0;
               }
            }
        }
  

你可以这样。这将消除字符或符号等无效整数。最后,您只能从输入中获得整数。

答案 1 :(得分:1)

让我将TextBox命名为List<Int>(),并在textBox中提供的输入为“12,11,10”;您可以使用以下代码将其转换为 List <int> myIntegers = txtInputNumber.Text.Split(',').Select(x=> Convert.ToInt32(x)).ToList() ;

,

附加说明:

  • String.Split()方法将帮助您根据分隔符(此处为,)将字符串拆分为数组/列表。这基本上是一个字符串的集合。你的要求是得到一个整数集合。您需要将集合中的每个元素转换为整数。
  • 您需要检查有效字符串作为输入,并确保分隔符应为try..catch,因此您需要包含 try { List<int> myIntegers = txtInputNumber.Text.Split(',').Select(x => Convert.ToInt32(x)).ToList(); } catch { // Display error here // Input is not valid; }
  • 所包围的操作

所以代码片段如下:

{{1}}