我的目标是将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(object sender,EventArgs e) {
MessageBox.Show(Convert.ToString(dNumbers.Count), "dNumbers List Count");
foreach (double dNum in dNumbers)
{
txtDisplayValues.Text += dNum + " ";
}
}
答案 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' }
]
}