您好,我有一个 inputtextfield,如果我想输入例如 100 的数字以使脚本循环 100 次,但我总是遇到错误。当把一个数字放在它运行正常的地方时,我试图用文本框中的一个数字来输入它。
for (var i = 0; i < (textBox2.Text); i++)
{
code in here
}
这是错误:错误 1 运算符“<”不能应用于“int”和“字符串”类型的操作数
我究竟做错了什么?有人能帮我吗??
你给textBox2.Text
虽然它会有数字,但它有类型string
,你需要integer
。
int result = int.Parse(textBox2.Text);
for (var i = 0; i <result ; i++)
{
//Your code
}
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
}
}
您需要使用该Int32.Parse()
方法将文本框中的文本转换为整数。Text 字段只是一个字符串,编译器无法弄清楚您要做什么。
in 的值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
}
错误消息很清楚,您正在尝试将整数与字符串值进行比较。那显然行不通。您首先需要将文本框中的值转换为整数类型,然后才能将条件应用于 for 循环。
采用Int.Parse(txtFirst.Text);
有一件事,您似乎是初学者,我希望您在编码中遵循命名约定,例如txt
添加到文本框名称之前,lbl
用于标签,您可以在学习材料中找到更多信息......
您需要解析textBox2.Text
String
以获得int
. 例如:
int x = int.Parse(textBox2.Text);
for (var i = 0; i < x; i++)
正如其他人所提到的, 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
}