表达式的定义
专门用来求值的语法实体。
各类表达式概览
整理一些有特点的:
三元运算符(条件运算符)带来的隐式类型转换:
var x = 5 > 3 ? 2 : 3.0;
Console.WriteLine(x); // 输出: 2
Console.WriteLine(x.GetType().FullName); // 输出: System.Double
C#中三元运算符的两个可能结果必须最终统一为同一类型。当类型不同时:
- 编译器寻找能够包容两种类型的"最小公共类型"
- 数值类型遵循隐式转换层次:
int
可以隐式转换为double
- 在本例中,两个分支的类型不同:
2
是int
类型3.0
是double
类型
- 类型统一规则导致
int
被转换为精度更高的double
复合表达式
注意复合表达式的求值顺序
语句的定义
声明语句
变量声明语句:
第一种:分离式声明和赋值
int x; // 声明变量
x = 100; // 赋值
第二种:声明时初始化
int x = 100; // 声明变量的同时进行初始化
主要区别
- 第一种是"声明的时候没有初始化,而在后面对变量进行了赋值"
- 第二种是"声明变量的时候追加了变量的初始化器"
第二种方式(直接初始化)是推荐的标准做法
常量声明语句:
前面加const
语句详解
块语句
在方法里才有块语句,块语句内定义的变量的作用域只在块语句内部
快捷键
Ctrl+}快捷键,可以让光标快速移动到一段程序的头尾
if else语句
一直剪切去掉花括号,最后变成 else if