0

この小さなネストされた for ループを作成しましたが、C# ではエラーはまったく表示されませんが、小さなプログラムを実行しようとすると、my に次のエラーが表示されますTextBox

System.Windows.Forms.TextBox、テキスト: System.Windows.Forms.TextBox、テキスト: システム...

これが私のコードです:

int number = textBox.Text..ToString();
for (int row = 0; row < number; row++)
{
    for (int x = number - row; x > 0; x--)
    {
        textBox2.Text = textBox2.Text + "X";
    }
    textBox2.Text = textBox2 + Environment.NewLine;
}

私の結果は次のようになります。


XXXX
XXX
XXX
X

このエラーの原因がわかりません。

4

9 に答える 9

1

これは、この問題について別の考え方をするきっかけになるかもしれません。

// I created a simple textbox class so I could do this in a console app
var textBox = new TextBox();
var textBox2 = new TextBox();
textBox.Text = "4";

var number = Convert.ToInt32(textBox.Text);
var descendingXStrings = Enumerable.Range(1, number)
                                   .Select(n => new string('X', n))
                                   .Reverse();
textBox2.Text = string.Join(Environment.NewLine, descendingXStrings);

Console.WriteLine(textBox2.Text);

これは質問に直接答えないのでCW。

于 2013-07-22T16:34:33.720 に答える
0

これを試して

int number = int.Parse(textBox1.Text);
for (int row = 0; row < number; row++)
{
    for (int x = number - row; x > 0; x--)
    {
        textBox2.Text = textBox2.Text + "X";
    }
    textBox2.Text = textBox2.Text + Environment.NewLine;
}
  1. TextBox の値を整数に変換する
  2. 最後から 2 行目の textBox2 を textBox2.Text に変更します。
  3. textBox を複数行のテキスト ボックスとして使用する
于 2013-07-22T16:33:20.653 に答える