如何将 C# 文本框值写入类型化集合
本文关键字:类型化 集合 文本 | 更新日期: 2023-09-27 18:32:20
我的目标是将值从 Windows 窗体TextBox
控件传递到类型 double
的类型集合中,以便我可以对集合中的值执行算术运算。 最终,我将double
转换为string
并将它们写成MessageBox
。窗口窗体有三个button
;提交、显示和关闭。
提交将获取值,如 4
、 10.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 + " ";
}
}
如果你想要: - 在文本框中输入双精度值,如 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
}
}