2012-12-15 77 views
0

你好,我有一個inputtextfield是我想把例如100的數字有一個腳本循環100次,但即時得到一個錯誤。當把數字放在正常運行的地方時,我試圖用文本框中的數字來提供數字。text1.Text作爲inputfield visual basic

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

這裏的錯誤:錯誤1操作「<」不能應用於類型「詮釋」和「串」

我在做什麼錯誤的操作數?有人能幫我嗎??

+0

你爲什麼這個標籤作爲VB.NET? –

回答

1

您給textBox2.Text雖然它會有號碼,但它有類型string,您需要integer

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

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

我想我給了一個錯誤的例子,因爲現在100次循環暴露在文本框中。我想將100的值放在文本框中,並且需要循環。我該怎麼做,它不適合我? – user1796805

+0

查看我的代碼,您在文本框中輸入的數字將決定循環的迭代次數。 – Adil

0

您需要使用Int32.Parse()方法將文本框中的文本轉換爲整數。文本字段只是一個字符串,編譯器無法弄清楚你想要做什麼。

0

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 
    } 
+0

你能告訴我一個如何做的例子嗎? – user1796805

+0

thnx我現在工作:) – user1796805

0

錯誤消息是很清楚,你想一個整數比較字符串值。這顯然是行不通的。您需要先將文本框中的值轉換爲整數類型,然後才能將for-loop的條件應用。

0

使用Int.Parse(txtFirst.Text);

一件事,你似乎是一個初學者,我希望你能按照編碼像txt前置到文本框,lbl爲標籤的名稱,你可以找到更多的在你的學習材料命名約定...

+0

是的,我是一個初學者;)我真的很喜歡我在這裏得到快速幫助 – user1796805

0

您需要解析textBox2.TextString才能獲得int。例如:

int x = int.Parse(textBox2.Text); 
for (var i = 0; i < x; i++) 
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 
    } 
} 
0

正如其他人所說,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 
}