如何在以逗号分隔的文本框中输入多个双精度并存储在包含双精度的数组中

本文关键字:双精度 数组 包含 存储 输入 文本 分隔 | 更新日期: 2023-09-27 17:57:20

我正在尝试在文本框中输入多个值,当我按下按钮时,它们将存储在数组中。像这样: 1.1, 2.2, 3.3, 4.4, 5.5 然后按下按钮,它们存储在索引 0、1、2、3、4 中

我知道这些值是一个字符串,需要转换,我想我已经接近答案了,但我不确定,这是我一直在尝试的:

 private void textBox1_TextChanged(object sender, EventArgs e)
    {
        //five values entered from textbox
        string values = textBox1.Text;
        string[] EmailArr = values.Split(',');
        double[] yArray = new double[5] = Array.ConvertAll(values.Split(','), Double.Parse);
    }

我知道这是错误的,但它是正确的路线吗?任何帮助不胜感激!谢谢!

如何在以逗号分隔的文本框中输入多个双精度并存储在包含双精度的数组中

linq 方式:

var yArray = textBox1.Text
                     .Split(',')
                     .Select(m => Double.Parse(m.Trim()))
                     .ToArray();

顺便说一下,不要将其与 TextChanged 事件一起使用,而是与已验证或单击按钮一起使用。

编辑

请按照以下步骤操作:

双击"您的表单".cs(以获得"设计")。

选择文本框。

右键单击,选择"属性"。

请参阅"事件列表"。

删除"文本更改"行上的任何内容

双击行已验证(这将在此行添加文本)

这应该打开"代码"部分。

将我的答案代码转换为新方法"私人无效textBox1_Validated(...

删除问题中存在的所有代码。

或更老的时尚方式:

    string values = textBox1.Text;
    string[] EmailArr = values.Split(',');
    double[] dlbArr = new double[EmailArr.Length];
    int index = 0;
    foreach (string item in EmailArr)
    {
        dlbArr[index] = Convert.ToDouble(item[index]);
        index++;
    }