什么是针对.net 1.1的int.TryParse的最佳替代方法

时间:2009-04-02 11:29:43

标签: .net-1.1

使用.net 1.1执行等效的int.TryParse(在.net 2.0以后找到)的最佳方法是什么。

4 个答案:

答案 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;
    }
}