簡體   English   中英

解析整數時輸入字符串的格式不正確

[英]Input string was not in the correct format when parsing integers

我在表單中添加了一個文本框,我試圖從中獲取文本,但它出現了一個異常說

“輸入字符串的格式不正確。”

這是我的代碼:

deleteQuestion = Convert.ToInt32(textBox6.Text);
addQuestion = Convert.ToInt32(textBox7.Text);

listOfQuestions.RemoveAt(deleteQuestion - 1);

foreach (RichTextBox box in boxForQuestions)
{
       if (Convert.ToInt32(box.Tag) == deleteQuestion - 1)
       {
              boxForQuestions.Remove(box);
       }
}

在代碼的第二部分中,我的意圖是刪除動態添加的富文本框。

如果您無法控制用戶在這些文本框中鍵入的內容,請使用 Int32.TryParse

int deleteQuestion;
if(!Int32.TryParse(textBox6.Text, out deleteQuestion))
{
    MessageBox.Show("Not a valid number to delete a question!");
    return;
}
int addQuestion;
if(!Int32.TryParse(textBox7.Text, out addQuestion))
{
    MessageBox.Show("Not a valid number to add a question!");
    return;
}

當然,循環內使用的 Tag 屬性也應考慮相同,但這是由您的代碼設置的,因此我認為將其視為有效整數是安全的

代碼中的另一個問題是 foreach 循環中的刪除。 這是無法做到的,您無法在迭代集合時更改集合。 如果您確實需要從該集合中刪除一個元素,您應該考慮使用普通的 for... 循環並從最后一個元素循環到第一個元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM