第一种,通过系统内置的Int32.TryParse来判断,该方法是将字符串转换成有效的int32类型的方法。我们编写一个方法来测试一下:

public static bool IsNumberic(string str)

{

int vsNum;

bool isNum;

isNum = Int32.TryParse(str, out vsNum);

return isNum;

}

调用上面编写的IsNumberic方法,通过文本框输入不同的字符串,来判断是否可以转成int。调用方法如下:

bool isNum = IsNumberic(textBox1.Text.Trim());

if (isNum)

{

richTextBox1.Text = $@"{textBox1.Text}可以转换成int" + Environment.NewLine;

}

else

{

richTextBox1.Text = $@"{textBox1.Text}含有其他字符,无法转换int" + Environment.NewLine;

}

第二种方式,使用正则表达式,正则表达式提供了丰富的表达式来判断不同的字符。判断int类型的正则表达式为:(^[\-0-9][0-9]*?)$ ,我们使用该正则表达式来实现一个方法:

/// <summary>

/// 正则表达式判断是否可以转int

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public bool RegNumber(string str)

{

Regex reg=new Regex(@"(^[\-0-9][0-9]*?)$");

return reg.IsMatch(str);

}

调用RegNumber方法,通过界面上的文本框输入不同的值,来判断是否可以转成Int类型。

bool isNum = RegNumber(textBox1.Text.Trim());

if (isNum)

{

richTextBox1.Text += $@"{textBox1.Text}可以转换成int" + Environment.NewLine;

}

else

{

richTextBox1.Text += $@"{textBox1.Text}含有其他字符,无法转换int" + Environment.NewLine;

}