这周三晚上上了第二节C#,章老师详细介绍了C#的一些基础知识。因为大部分都和C++,JAVA等语言类似,所以此处不再赘述,只略微记录一下一些我自己认为比较重要,容易出错抑或与其他语言不大一样之处。
1.类型转换
在C#中,下列赋值语句: 值域大的变量 = 值域小的变量是可以通过编译的,而 值域小的变量 = 值域大的变量 这样的赋值语句是不能通过编译的。如下列代码:
1 short x=5; 2 //赋值语句: 值域大的变量 = 值域小的变量; 3 //编译可通过,y的值为5,隐式类型转换成功 4 int y = x;
1 short x; 2 int y = 500; 3 //赋值语句: 值域小的变量 = 值域大的变量; 4 //编译不能通过,无法完成隐式转换,编译器报错 5 x = y ;
这是隐式类型转换方面,然而是可以通过显式类型转换达到 值域小的变量 = 值域大的变量 这样的效果的,如以下代码:
1 short x; 2 int y = 500; 3 //赋值语句: 值域小的变量 = 值域大的变量; 4 //可以通过编译,显式转换成功,不过需要自己注意取值范围 5 x =(short) y;
我认为这种处理方式是非常棒的,可以有效避免类型转换时取值溢出的问题,降低bug出现几率。
2.
时间: 2024-08-10 01:54:16