文本框中的格式异常

本文关键字:格式 异常 文本 | 更新日期: 2023-09-27 18:11:26

我有2个文本框,从中我试图收集数据。我正在循环它们,但是当程序要从它们中收集数据时,它们没有任何值,它们是空的,我得到一个格式异常,说:"输入字符串的格式不正确。"

if (this.Controls["txt_db0" + count].Text != null)
 {
   //if the value in the textbox is not null
   int db = int.Parse((this.Controls["txt_db0" + count].Text));
   //set my "db" integer to the value of the textbox.
 }

我把if语句放在那里过滤掉,如果其中没有值,即使我得到格式异常,所以我一定是做错了什么。

文本框中的格式异常

检查你的工作,你可以这样做

int testInt;
if (int.TryParse(this.Controls["txt_db0" + count].Text,out testInt))
{
  //if the value in the textbox is not null
  int db = testInt;
  //set my "db" integer to the value of the textbox.
}
else
  MessageBox.Show(this.Controls["txt_db0" + count].Text + "  Not an Int");

int。如果:

  • 输入字符串包含字母或其他不能被识别为数字的特殊字符。
  • 输入字符串为空字符串。

如果您确定您的输入字符串只包含数字,在转换之前先检查您的字符串是否为空:

string input = this.Controls["txt_db0" + count].Text;
int db = input == "" ? 0 : int.Parse(input);

或者你可以使用:

int db;
if (!int.TryParse(this.Controls["txt_db0" + count].Text, out db))
     // Do something else.