认清事物的本质-简单

博客园 首页 新随笔 联系 订阅 管理

Byte.Parse 方法重载中的其中两个是 Parse(String)Parse(String, NumberStyles),而第一个是第二个的特例,相当于第二个的参数为Integer

这个NumberStyles的意思就是,要转换的String在转换过程中被认为是什么格式(例如十进制还是十六进制的字符串等等)。

举例说明

public class test
{
    public static void Main()
    {
        //string stringToConvert = " 162";
        string stringToConvert = " f2";
        byte byteValue;

        try
        {
            //byteValue = Byte.Parse(stringToConvert);//这里参数是162没有问题,因为162此时被认为是十进制,转换结果为162,在 byte的范围之内;但是,如果参数是f2,就会出现错误,因为十进制是不包含字母的
            byteValue = Byte.Parse(stringToConvert, System.Globalization.NumberStyles.HexNumber);//这里f2是没问题的,因为十六进制里面可以包含f,而且结果也在255之内;但是如果参数是162就有问题了,因为转换结果显然超过了255,这就不是byte类型了
            Console.WriteLine("The byte value is {0}.", byteValue.ToString());
        }
        catch (System.OverflowException e)
        {
            Console.WriteLine("Exception: {0}", e.Message);
        }


        Console.Read();
    }
}
posted on 2011-06-15 10:06  萧冲  阅读(5856)  评论(0)    收藏  举报