如何将C#文本框值写入类型化集合?

时间:2016-01-27 20:17:23

标签: c# .net

我的目标是将Windows窗体TextBox控件中的值传递给类型为double的类型集合,以便我可以对集合中的值执行算术运算。最后,我会将double转换为string并将其写为MessageBox。 窗体有三个button个;提交,显示和关闭。

提交将获取410.5等值,并将其写入类型化集合。收藏品必须是double。我将其定义如下:List<Double> dNumbers = new List<Double>();

我是否需要创建类型string的集合并循环遍历TextBox中的值并将它们写入string集合,然后将它们转换为类型集合double

抱歉,我没有任何代码可以共享,因为它在语法上都是错误的并且会产生转换错误。我应该压缩应用程序并附上它吗?任何帮助表示赞赏。

我使用的是.NET 4.5版

感谢您的回复。我没有专业的编程经验,我正在尝试用C#学习.Net及其所有细微差别,所以感谢您的耐心等待。我也是Stack Overflow的新手,我正在学习Q和A协议。这是显示事件处理程序。

public void btnDisplay_Click(object sender,EventArgs e)         {

        MessageBox.Show(Convert.ToString(dNumbers.Count), "dNumbers List Count");
        foreach (double dNum in dNumbers)
        {
            txtDisplayValues.Text += dNum + " ";
        }
    } 

2 个答案:

答案 0 :(得分:1)

如果你想:   - 输入TextBox双精度值,如4.5 10.5 22.5 ans等   - 将每个单独的值保存在双值列表中

执行以下操作:   - 在文本框中拆分字符串以获得所有单独的双倍    值,使用在Linux中的Regex类中的Split方法    System.Text.RegularExpressions命名空间。这将导致一个    字符串数组。

- 遍历此数组,将每个字符串转换为double并将其添加到列表中。

using System.Text.RegularExpressions;
.......

private void SubmitButton_Click(object sender, RoutedEventArgs e) {

  // Step 1- split the string after each blank space
  string[] numbersInTextBox = Regex.Split(textBox.Text, @" ");

  //Step 2 - convert to double and add to the list
  foreach (string strNumber in numbersInTextBox)
  {
           double dNumber = Convert.ToDouble(strNumber);
           dNumbers.Add(dNumber);
  }

}

答案 1 :(得分:0)

Slapshot,

如果您只有两个号码,我看不到使用List或其他集合来保留它们的原因。根据您对问题的解释,我认为类似下面的代码将帮助您实现:

{
  name: 'Jon Arbuckle',
  pets: [
   { name: 'Odie', type: 'dog' },
   { name: 'Garfield', type: 'cat' }
  ]
}