C# 为什么这个子字符串不能工作?错误:输入字符串的格式不正确

C# 为什么这个子字符串不能工作?错误:输入字符串的格式不正确,c#,string,C#,String,问题在于txt框值的转换,但为什么 string strChar = strTest.Substring(0, Convert.ToInt16(txtBoxValue.Text)); 错误是:输入字符串的格式不正确 谢谢大家。txtBoxValue.Text可能不包含有效的int16。txtBoxValue.Text可能不包含有效的int16。以下是代码可能出错的几个原因。 要真正做到这一点,请将您的短期转换放在新行上,如下所示: short val = Convert.ToInt16(txt

问题在于txt框值的转换,但为什么

string strChar = strTest.Substring(0, Convert.ToInt16(txtBoxValue.Text));
错误是:输入字符串的格式不正确


谢谢大家。

txtBoxValue.Text可能不包含有效的int16。

txtBoxValue.Text可能不包含有效的int16。

以下是代码可能出错的几个原因。 要真正做到这一点,请将您的短期转换放在新行上,如下所示:

short val = Convert.ToInt16(txtBoxValue.Text);
string strChar = strTest.Substring(0, val);
可能是txtBoxValue.Text中的值不短,可能太大,或者包含字母字符。如果它是有效的,并且val被分配,则strTest中可能没有足够的字符使子字符串工作,尽管这通常会返回不同的错误。另外,substring的第二个参数可能需要一个int不确定,现在无法测试,因此您可能需要实际转换为int32而不是16


测试期间txtBoxValue.Text的值是多少?

代码可能出错的几个原因。 要真正做到这一点,请将您的短期转换放在新行上,如下所示:

short val = Convert.ToInt16(txtBoxValue.Text);
string strChar = strTest.Substring(0, val);
可能是txtBoxValue.Text中的值不短,可能太大,或者包含字母字符。如果它是有效的,并且val被分配,则strTest中可能没有足够的字符使子字符串工作,尽管这通常会返回不同的错误。另外,substring的第二个参数可能需要一个int不确定,现在无法测试,因此您可能需要实际转换为int32而不是16


测试期间txtBoxValue.Text的值是多少?

避免该错误的一个好方法是使用.tryParse.net 2.0及更高版本

int subLength;

if(!int.TryParse(txtBoxValue.Text,out subLength)
   subLength= 0;

string strChar = strTest.Substring(0, subLength);

这样,如果txtBoxValue.text不包含有效数字,则子长度将设置为0

避免该错误的一个好方法是使用.tryParse.net 2.0及更高版本

int subLength;

if(!int.TryParse(txtBoxValue.Text,out subLength)
   subLength= 0;

string strChar = strTest.Substring(0, subLength);

这样,如果txtBoxValue.text不包含有效数字,则子长度将设置为0

您可能想尝试的一件事是使用TryParse

Int16 myInt16;
if(Int16.TryParse(myString, out myInt16)
{
   string strChar = strTest.Substring(0, myInt16);
}
else
{
   MessageBox.Show("Hey this isn't an Int16!");
}

您可能想尝试的一件事是使用TryParse

Int16 myInt16;
if(Int16.TryParse(myString, out myInt16)
{
   string strChar = strTest.Substring(0, myInt16);
}
else
{
   MessageBox.Show("Hey this isn't an Int16!");
}

ASP.NET提供了几个用于检查用户输入的验证控件。如果您需要特定类型的输入,例如整数,则应在Web表单中使用类似CompareValidator或RegularExpressionValiditor的内容。

ASP.NET提供了多个用于检查用户输入的验证控件。如果需要特定类型的输入,例如整数,则应在Web表单中使用类似CompareValidator或RegularExpressionValiditor的内容。

发布srtTest和txtBoxValue.text的值会很有帮助txtBoxValue为空!啊!这个问题并非毫无帮助。基本的,但并非毫无帮助+1计数器-1。张贴srtTest和txtBoxValue.text的值会很有帮助txtBoxValue为空!啊!这个问题并非毫无帮助。基本的,但并非毫无帮助+1到计数器-1。