c#数据类型的相互转换
隐式转换,char也是数值类型,string类型不能进行显式或隐式转换
(注:值变量之间的赋值只是值的传递,每个变量都有自己的地址;而引用类型的之间的赋值是地址的传递,指向相同的类)
//int转换成double,隐式 int num = 10; double d = num; Console.WriteLine(d); //char转换为int char var = 'a'; int var1 = var; Console.WriteLine(var1);
可以隐式转换的变量:


显式转换:
精度大转换成精度小的需要显式转换
//double转int,精度丢失,不会四舍五入 double d1= 52.533; int num1 = (int)d1; Console.WriteLine(num1);
显式转换中的数值不兼容问题:
不兼容会造成严重的数据丢失,转换失败时不会抛出异常,需要结合checked,unchecked关键字。
convert转换:转换不成功会抛出异常,可以使用try-catch进行异常捕获
//采用convert进行转换,第一种实质上是调用了第二种的方法 Convert.ToInt32("123"); int.Parse("123");
int.Tryparse转换:转换成功返回num,b为true;失败num=0,b为false
//采用int.TryParse进行转换 bool b = int.TryParse("123", out num); Console.WriteLine(num); Console.WriteLine(b);
浙公网安备 33010602011771号