text1.Text作为inputfield visual basic

时间:2012-12-15 13:20:09

标签: c# vb.net loops

你好我有一个inputtextfield我想把数字放在例如100的脚本循环100次,但我总是得到一个错误。当一个数字放在它正常运行的地方时,我正试图用文本框中的数字来提供它。

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

这是错误:错误1运算符'&lt;'不能应用于'int'和'string'

类型的操作数

我做错了什么?有人能帮助我吗?

8 个答案:

答案 0 :(得分:1)

您提供textBox2.Text虽然它有数字,但它的类型为string,您需要integer

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

for (var i = 0; i <result  ; i++)
{
    //Your code
}

答案 1 :(得分:1)

Check如果文本可以解析为int first and then proceed。如果int.TryParse()true

,则textBox2.Text.Trim()方法将返回int
int limit;

if( int.TryParse(textBox2.Text.Trim(), out limit))
{
    for (var i = 0; i < limit ; i++)
    {
      //code in here
    }
}

答案 2 :(得分:0)

您需要使用Int32.Parse()方法将文本框中的文本转换为整数。 Text字段只是一个字符串,编译器无法弄清楚你要做什么。

答案 3 :(得分:0)

textBox2.Text中的值是string类型,您需要将其强制转换为int。

这是通过cint()函数

完成的
cint(textBox2.Text)

或Parse()方法

Int32.Parse(textBox2.Text);

如果您确定输入字符串是有效的,包含类似“123”而不是“absjsdfd”的内容,则上述两种方法都可以使用。

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
     }

答案 4 :(得分:0)

错误信息非常清楚,您正在尝试将整数与字符串值进行比较。这显然是行不通的。首先需要将值从文本框转换为整数类型,而不是为for循环应用条件。

答案 5 :(得分:0)

使用Int.Parse(txtFirst.Text);

有一件事,你似乎是一个初学者,我希望你按照文本框名称txt之类的编码遵循命名约定,lbl作为标签,你可以在你的研究中找到更多材料...

答案 6 :(得分:0)

您需要解析textBox2.Text String以获得int。例如:

int x = int.Parse(textBox2.Text);
for (var i = 0; i < x; i++)

答案 7 :(得分:0)

正如其他人所提到的,textbox2.text是一个字符串,必须转换为#n整数

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

但是,我建议您使用更合适的控件,例如数字Up Down:

for (var i = 0; i < Convert.ToInt32(numericUpDown1.Value); i++)
        {
code in here
}