c#中convert.toInt32和int.parse()和强制类型转换的区别

string a="123";

int i=(string)a; 这是会出现错误因为:强制类型转换只能转换值类型不能转换引用类型 string属于引用类型     强制类型转换时如果值类型为小数则直接舍位  如: int i=(int)123.6  结果为:123

int.parse()里边的值只能是string类型,他也只能转换string里边的整数如: string a="123"    string a="123.4"就会出错  也不能转换值为null的 如: string a=null; 为出错

convert.toInt32  当 值为null时  结果为0 ; 在转换double类型时小数位为0-4舍掉 ,5就找临近的偶数,6-9就进位   当转换string a="123.4"也会出错因为转换string类型为整数时string里边的值只能是整数才行

猜你喜欢

转载自www.cnblogs.com/yanzhuang/p/12242541.html