0

Hello i have an inputtextfield were i want to put figures for example 100 to have a script loop for 100 times, but im getting an error all the time. When putting a number at the place it does run normal, i'm trying to feed it with a number from the textbox.

for (var i = 0; i < (textBox2.Text); i++)
            {
code in here
}

Here's the error : Error 1 Operator '<' cannot be applied to operands of type 'int' and 'string'

What am i doing wrong? Can someone help me??

4

8 に答える 8

1

Checkテキストを int に解析できる場合first and then proceed。次のint.TryParse()メソッドはtruetextBox2.Text.Trim()int

int limit;

if( int.TryParse(textBox2.Text.Trim(), out limit))
{
    for (var i = 0; i < limit ; i++)
    {
      //code in here
    }
}
于 2012-12-15T13:26:13.930 に答える
1

数値はありますtextBox2.Textが、型stringがあり、必要integerです。

int result = int.Parse(textBox2.Text);      

for (var i = 0; i <result  ; i++)
{
    //Your code
}
于 2012-12-15T13:21:57.390 に答える
0

他の人が述べたように、 textbox2.text は文字列であり、 #n 整数に変換する必要があります

for (var i = 0; i < int.Parse(textBox2.Text); i++)
        {
//code in here
}

ただし、数値のアップダウンなど、より適切なコントロールを使用することをお勧めします。

for (var i = 0; i < Convert.ToInt32(numericUpDown1.Value); i++)
        {
code in here
}
于 2012-12-15T13:29:12.417 に答える
0

エラー メッセージは非常に明確です。整数を文字列値と比較しようとしています。それは明らかにうまくいきません。forループの条件を適用するには、まずテキストボックスの値を整数型にキャストする必要があります。

于 2012-12-15T13:23:19.590 に答える
0

使用するInt.Parse(txtFirst.Text);

1 つ、あなたは初心者のようです。txtテキスト ボックスの名前の前に付けるようなコーディングの命名規則に従っlblてください。

于 2012-12-15T13:23:55.880 に答える
0

textBox2.Text Stringを取得するには、 を解析する必要がありintます。例えば:

int x = int.Parse(textBox2.Text);
for (var i = 0; i < x; i++)
于 2012-12-15T13:24:18.363 に答える
0

Int32.Parse()メソッドを使用して、テキストボックス内のテキストを整数に変換する必要があります。Text フィールドは単なる文字列であり、コンパイラは何をしようとしているのかを理解できません。

于 2012-12-15T13:21:45.730 に答える
0

の値はtextBox2.Textstring 型です。int にキャストする必要があります。

これは cint() 関数によって行われます

cint(textBox2.Text)

または Parse() メソッド

Int32.Parse(textBox2.Text);

上記の 2 つの方法は、「absjsdfd」ではなく「123」などを含む入力文字列が有効であることが確実な場合に機能します。

for (var i = 0; i < Int32.Parse(textBox2.Text); i++)
{
//your code in here
}

テキストボックスに無効な入力が入力された場合に例外をスローしないようにするには、より堅牢な関数を使用しますInteger.TryParse()

   int limit;
   bool valid = int.TryParse(textbox2.Text, out limit);
   if(valid)
     for (var i = 0; i < limit; i++)
     {
       //your code in here
     }
于 2012-12-15T13:22:10.830 に答える