你好,我有一個inputtextfield是我想把例如100的數字有一個腳本循環100次,但即時得到一個錯誤。當把數字放在正常運行的地方時,我試圖用文本框中的數字來提供數字。text1.Text作爲inputfield visual basic
for (var i = 0; i < (textBox2.Text); i++)
{
code in here
}
這裏的錯誤:錯誤1操作「<」不能應用於類型「詮釋」和「串」
我在做什麼錯誤的操作數?有人能幫我嗎??
你好,我有一個inputtextfield是我想把例如100的數字有一個腳本循環100次,但即時得到一個錯誤。當把數字放在正常運行的地方時,我試圖用文本框中的數字來提供數字。text1.Text作爲inputfield visual basic
for (var i = 0; i < (textBox2.Text); i++)
{
code in here
}
這裏的錯誤:錯誤1操作「<」不能應用於類型「詮釋」和「串」
我在做什麼錯誤的操作數?有人能幫我嗎??
您給textBox2.Text
雖然它會有號碼,但它有類型string
,您需要integer
。
int result = int.Parse(textBox2.Text);
for (var i = 0; i <result ; i++)
{
//Your code
}
我想我給了一個錯誤的例子,因爲現在100次循環暴露在文本框中。我想將100的值放在文本框中,並且需要循環。我該怎麼做,它不適合我? – user1796805
查看我的代碼,您在文本框中輸入的數字將決定循環的迭代次數。 – Adil
您需要使用Int32.Parse()
方法將文本框中的文本轉換爲整數。文本字段只是一個字符串,編譯器無法弄清楚你想要做什麼。
在textBox2.Text
值是字符串類型,你需要將它轉換爲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
}
你能告訴我一個如何做的例子嗎? – user1796805
thnx我現在工作:) – user1796805
錯誤消息是很清楚,你想一個整數比較字符串值。這顯然是行不通的。您需要先將文本框中的值轉換爲整數類型,然後才能將for-loop的條件應用。
使用Int.Parse(txtFirst.Text);
一件事,你似乎是一個初學者,我希望你能按照編碼像txt
前置到文本框,lbl
爲標籤的名稱,你可以找到更多的在你的學習材料命名約定...
是的,我是一個初學者;)我真的很喜歡我在這裏得到快速幫助 – user1796805
您需要解析textBox2.Text
String
才能獲得int
。例如:
int x = int.Parse(textBox2.Text);
for (var i = 0; i < x; i++)
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
}
}
正如其他人所說,TextBox2中。文本是一個字符串,必須轉換爲#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
}
你爲什麼這個標籤作爲VB.NET? –