Convert.ToInt32(buffer) 是把字符串转换为整数,
(Color) Convert.ToInt32(buffer) 是把整数转换为枚举。

解决方案 »

  1.   

    第二种:(string)intVal 
    这个不会成功,整型不能转换成字符串color 省略了基础类型,相当于这个,
    enum Color : int
    {
        red,
        white,
        blue
    }myColor = (Color) Convert.ToInt32(buffer);先转换成 int,但是 myColor 不接受 int 类型,所以还要进一步转换成 Color
      

  2.   

    Convert属于强制转换了,而()这种方式属于显性转换。
      

  3.   

    第一种:Convert.ToInt32(stringVal)
    第二种:(string)intVal
    ----------------------------------------------
    1.把stringVal强制转换为一个int型数据,此方法为Convert类的方法,不允许被重载。
    2.把intVal转换为string型返回一个string类型对象。在基本数据类型当中,这两种表达方式将执行一致的操作返回一致的结果集
    他们的主要区别主要在自定义类型当中,Convert.ToInt32()这种方式不能适用于自定义类型
    而(string)这种方式通过在具体自定义类型中的可以通过改写其方法使用
      

  4.   

    使用Convert.To......之类的.再大量使用的情况下会使效率降低.