2

こんにちは、私は C# の知識を増やすことに取り組んでおり、単純なタスクを実行したいのですが、難しいと感じています。

文字列の各文字を int 配列に解析したいと考えています。

    int[] d = new int[10];
     private void button1_Click(object sender, EventArgs e)
    {
        s = textBox1.Text;

        d[2] = Convert.ToInt32(Convert.ToString(s[1]));
        d[3] = Convert.ToInt32(Convert.ToString(s[2]));
        d[4] = Convert.ToInt32(Convert.ToString(s[3]));
        d[5] = Convert.ToInt32(Convert.ToString(s[4]));
        .....

コードが間違っていることはわかっていますが、例を示したかったのです。過去 1 時間 Google を見てきましたが、新しい行に文字を表示したい人や、if ステートメントを使用して解析したい人を見つけました。上記のようなものが欲しいです。これはできますか?お時間をいただきありがとうございます。

Javaでこのコード行を見つけましたが、これはまさに私がやりたいことですが、同等のものはありますか?

    d1 = Integer.parseInt(String.valueOf(s.charAt(0)));

数値を送信すると、入力した数値に関係なく、「インデックスが配列の境界外でした」という新しい問題が発生しました。

また、配列 d の整数を 10 個に制限する必要があります。

4

4 に答える 4

4

文字列内の文字にアクセスするための括弧が間違っています。

d[2] = Convert.ToInt32(Convert.ToString(s(1)));
                                         ^

使用する、

d[2] = Convert.ToInt32(Convert.ToString(s[1]));
于 2012-10-24T14:06:09.437 に答える
3
 var intArr =  "12345678".Select(c => (int)(c-'0')).ToArray();
于 2012-10-24T14:06:15.977 に答える
1

これを試して:-

var intArrayOfText = someTextBox.Text.ToCharArray().Select(x => (int)(x-'0'));
于 2012-10-24T14:07:03.183 に答える