不可能一样吧,总该有点区别!!

解决方案 »

  1.   

    强制转换一个对象的类型,该对象必须与该类型相compatible,即使该对象是在一个object变量里但Convert则不见得,它会根据当前参数里的类型/对象,做解析(parse)或数据转换,譬如下面能成功int i = Convert.ToInt32("123");但下面不会成功object o = "123";
    int i = (int)o; //运行时会出错
      

  2.   

    我的意思是说简单点是否string str = "test";
    Convert.ToInt32(str);

    (int)str;并没有实际却别?这种转换的处理速度之类的都相等?而使用Convert的转换比如符合C#转换中的一些规则,比如string只能专成特定的某些其他类型,而不是专程DataTable。
    而强制状是否只要备转换的对象对他的一个子集或者可以兼容就可以转换。对这方面有没有特定的规则?
      

  3.   

    我觉得:Convert类里面的方法是将像这个类型的数据转成这个类型的。
    比如Convert.ToInt32("123"),就是将字符串"123"转成整形,它会判断字符串“123”是不是看起来像整形的,如果像就执行转换,如果不像就抛出异常。而强制类型转换则是向下转型,就是说两种数据类型必须兼容,就好像Double型的可以包含int型一样。片面理解,还请指正。另外从微软网站上看到了篇文章,希望对你有用
    http://msdn.microsoft.com/library/CHS/dncscol/html/csharp02152001.asp?frame=true