AI智能
改变未来

C# 学习笔记——类型转换


类型转换

隐士类型转换(自动类型转换)
显示类型转换(强制类型转换)
Convert类型转换
int.Parse()和int.TryParse()

注意:所有的类型都可以转换成string,直接调用ToString()即可。

1 隐士类型转换

又叫自动类型转换。
规则:

  1. 当参与运算的数据的类型不同时,编译系统会自动先将它们转换成同一类型,然后再进行运算。
  2. 所有的浮点运算都是以双精度进行的。
  3. char 型和 short 型数据参与运算时,必须先转换成 int 型。
  4. 有符号整型和无符号整型混合运算时,有符号型要转换成无符号型,运算的结果是无符号的。
  5. 整型和浮点型混合运算时,整型先转换成浮点型,运算的结果是浮点型。
  6. 在赋值运算中,当赋值号两边的数据类型不同时,右边的类型会转换为左边的类型,然后再赋给左边。如果右边数据类型的长度比左边长,那么将会丢失数据,这样就会降低精度,所以编译的时候会产生警告。
    隐士类型转换是由下图从低到高进行的。
//由int转换成doubleint n1 = 10;int n2 = 3;double d = n1 / n2;Console.WriteLine(\"{0:0.0000}\",d);Console.ReadKey();

2 显示类型转换

又叫强制类型转换。
语法:
(要转换的数据类型)表达式或变量或值

3 Convert类型转换

类型如果是相互兼容的两个变量,可以使用自动类型转换或者强制类型转换,但是如果两个类型不兼容,比如string与int或string与double,这个时候我们可以使用一个叫做Convert的转换工厂进行转换。

//提示用户输入一个数字Console.WriteLine(\"请输入一个数字:\");string str = Console.ReadLine();//将string类型转换成为double类型double s = Convert.ToDouble(str);Console.WriteLine(s);Console.ReadKey();

4 int.Parse()和int.TryParse()

1、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出异常;
如果字符串内容不是数字,则抛出异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出异常;

int number = int.Parse(\"123abc\");Console.WriteLine(number);Console.ReadKey();

抛出异常

2、int.TryParse与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

int number = 100;bool b = int.TryParse(\"123abc\", out number);Console.WriteLine(b);Console.WriteLine(number);Console.ReadKey();

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C# 学习笔记——类型转换