使用.net 1.1执行等效的int.TryParse(在.net 2.0以后找到)的最佳方法是什么。
答案 0 :(得分:11)
显然,
class Int32Util
{
public static bool TryParse(string value, out int result)
{
result = 0;
try
{
result = Int32.Parse(value);
return true;
}
catch(FormatException)
{
return false;
}
catch(OverflowException)
{
return false;
}
}
}
答案 1 :(得分:2)
try
{
var i = int.Parse(value);
}
catch(FormatException ex)
{
Console.WriteLine("Invalid format.");
}
答案 2 :(得分:1)
Koistya几乎拥有它。 .NET 1.1中没有var命令。
如果我可能如此大胆:
try
{
int i = int.Parse(value);
}
catch(FormatException ex)
{
Console.WriteLine("Invalid format.");
}
答案 3 :(得分:1)
有一个tryparse for double,所以如果你使用它,选择“NumberStyles.Integer”选项并检查结果double是否在Int32的边界内,你可以确定string是一个整数而不抛出异常
希望这有帮助, 杰米
private bool TryIntParse(string txt)
{
try
{
double dblOut = 0;
if (double.TryParse(txt, System.Globalization.NumberStyles.Integer
, System.Globalization.CultureInfo.CurrentCulture, out dblOut))
{
// determined its an int, now check if its within the Int32 max min
return dblOut > Int32.MinValue && dblOut < Int32.MaxValue;
}
else
{
return false;
}
}
catch(Exception ex)
{
throw ex;
}
}