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

または古いファッションの方法:

    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 に答える
2

linqの方法:

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

ところで、これを TextChanged イベントでは使用しないでください。Validated またはボタンの Clicked では使用しないでください。

編集

次の手順に従います。

「YourForm」.cs をダブルクリックします (「デザイン」を取得します)。

TextBox を選択します。

右クリックして、「プロパティ」を選択します。

「イベント一覧」をご覧ください。

「TextChanged」行のすべてを削除します

DoubleClick on line Validated (これにより、この行にテキストが追加されます)

これにより、「コード」部分が開きます。

回答のコードを新しいメソッド「private void textBox1_Validated(...)」に貼り付けます

質問にあるすべてのコードを削除します。

于 2013-02-02T22:36:45.677 に答える