我有代码,许多字符串被解析为整数值.
string item = null; //or a value
int result;
if (!string.IsNullOrEmpty(item) && int.TryParse(item, out result))
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
是否真的需要IsNullOrEmpty每次检查?如果是null或为空,则解析应该失败.
不,String.IsNullOrEmpty这里是多余的,因为Int32.TryParse通过返回来处理这种情况false.所以这更简洁:
int result;
if (int.TryParse(item, out result))
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
MSDN:
所述如果s参数为空值或的String.Empty转换失败,不是正确格式的,或者代表比MINVALUE大于MaxValue的更少或更大的数.