如题
int.parse方法具体是怎么实现的?

解决方案 »

  1.   

    你可以用reflector反编译看一下
      

  2.   

    int.Parse(System.Console.ReadLine()) //把输入的字符串化为整型
    参数列表可以为很多值类型
      

  3.   

    int.Parse内部的具体实现
    public static int Parse(string s)
    {
        return System.Number.ParseInt32(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo);
    }
    internal static unsafe int ParseInt32(string s, NumberStyles style, NumberFormatInfo info)
    {
        byte* stackBuffer = stackalloc byte[1 * 0x72];
        NumberBuffer number = new NumberBuffer(stackBuffer);
        int num = 0;
        StringToNumber(s, style, ref number, info, false);
        if ((style & NumberStyles.AllowHexSpecifier) != NumberStyles.None)
        {
            if (!HexNumberToInt32(ref number, ref num))
            {
                throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
            }
            return num;
        }
        if (!NumberToInt32(ref number, ref num))
        {
            throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
        }
        return num;
    }