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

本文关键字:类型化 集合 文本 | 更新日期: 2023-09-27 18:32:20

我的目标是将值从 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(对象发送方,EventArgs e) {

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

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

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

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

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

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);
  }
}

Slapshot,

如果您只有两个数字,我看不出使用列表或其他一些集合来保留它们的原因。根据您对问题的解释,我认为类似于以下代码的内容将帮助您实现:

private void SubmitButton_Click(object sender, RoutedEventArgs e) {
  // Try to parse the numbers
  double  numberOne, numberTwo;
  bool isTextOneNumber = Double.TryParse(text1.Text, out numberOne);
  bool isTextTwoNumber = Double.TryParse(text2.Text, out numberTwo);
  if(isTextOneNumber && isTextTwoNumber )
  {
     //calculate what you want with numberOne, numberTwo
  }
  else
  {
    //provide some error(validation) message
  }
}