0

我正在尝试在文本框中输入多个值,当我按下按钮时,它们将存储在一个数组中。像这样: 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);
    }

我知道这是错误的,但它是正确的吗?任何帮助表示赞赏!谢谢!

4

2 回答 2

2

linq方式:

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

顺便说一句,不要将它与 TextChanged 事件一起使用,而应与 Validated 或 Clicked 一起使用。

编辑

请按照以下步骤操作:

双击“YourForm”.cs(获得“设计”)。

选择您的文本框。

右键单击,选择“属性”。

请参阅“事件列表”。

删除“TextChanged”行上的任何内容

DoubleClick on line Validated(这将在此行上添加文本)

这应该打开“代码”部分。

将我的答案代码添加到新方法“private void textBox1_Validated(...)”中

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

于 2013-02-02T22:36:45.677 回答
2

或较旧的时尚方式:

    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++;
    }
于 2013-02-02T22:38:31.320 回答