CS1L11——条件运算符

条件运算符

输出 bool​ 值,用于比较两个变量或者常量
是否大于 >​,是否等于 <
是否等于 ==​,是否不等于 !=
是否大于等于 >=​,是否小于等于 <=
条件运算符 一定存在两边的内容:左边内容 条件运算符 右边内容
条件运算符必需要用一个变量存储或是使用,比较结果就是返回一个 bool​ 值,如果比较条件满足就返回 true​,不满足就返回 false

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int a = 5;
int b = 10;

bool result = a > b;
Console.WriteLine(result);

result = a < b;
Console.WriteLine(result);

result = a >= b;
Console.WriteLine(result);

result = a <= b;
Console.WriteLine(result);

result = a == b;
Console.WriteLine(result);

result = a != b;
Console.WriteLine(result);

输出:

1
2
3
4
5
6
False
True
False
True
False
True

各种应用写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 变量与变量比较
result = a < b;
// 变量与数值(常量)比较
result = a < 10;
result = b > 5;
// 数值与数值比较
result = 5 > 3;
result = 5 == 3;
result = 5 != 2;
// 计算结果比较
// 条件运算符的优先级低于算数运算符
// 因此会先计算再比较
result = a + 3 > a - 2 - 3;
result = 3 + 3 < 5 - 1;
// 左边内容 条件运算符 右边内容,左右边内容都可变

条件运算符的优先级低于算数运算符,因此会先计算再比较

不能进行范围比较

在C#,判断是否在两个值之间不可以用类似于 1 < a < 2,这种写法
判断一个变量是否在两个值之间,要使用逻辑运算符

不同类型之间的比较

不同数值类型之间可以随意的进行条件比较
但是 decimal​ 与 float​ 和 double​ 都不能直接进行比较

1
2
3
4
5
6
7
int i = 5;
float f = 1.2f;
ushort us = 3;
decimal de = 2.4m;

result = i > f;
result = de < us;

string​ 和 bool​ 只能同类型 ==​ 和 !=​ 比较

1
2
3
4
5
6
7
8
9
10
string str = "234";
char c = 'A';
bool bo = true;

result = str == "123";
result = str != "123";

result = c == 'B';

result = bo == false;

char​ 不仅可以和自己类型进行 ==​ 和 !=​ 比较,还可以和数值类型比较
还可以和字符类型进行比较

1
2
result = c > 123;
result = c > 'B';

本课源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
namespace lesson11条件运算符
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("条件运算符");
#region 条件运算符
// 输出bool值,用于比较两个变量或者常量
// 是否大于 >
// 是否等于 <
// 是否等于 ==
// 是否不等于 !=
// 是否大于等于 >=
// 是否小于等于 <=
int a = 5;
int b = 10;
// 条件运算符 一定存在两边的内容
// 左边内容 条件运算符 右边内容
// 条件运算符必需要用一个变量存储或是使用
// 比较结果就是返回一个bool值
// 如果比较条件满足就返回true 不满足就返回false
bool result = a > b;
Console.WriteLine(result);

result = a < b;
Console.WriteLine(result);

result = a >= b;
Console.WriteLine(result);

result = a <= b;
Console.WriteLine(result);

result = a == b;
Console.WriteLine(result);

result = a != b;
Console.WriteLine(result);
#endregion

#region 各种应用写法
// 变量与变量比较
result = a < b;
// 变量与数值(常量)比较
result = a < 10;
result = b > 5;
// 数值与数值比较
result = 5 > 3;
result = 5 == 3;
result = 5 != 2;
// 计算结果比较
// 条件运算符的优先级低于算数运算符
// 因此会先计算再比较
result = a + 3 > a - 2 - 3;
result = 3 + 3 < 5 - 1;
// 左边内容 条件运算符 右边内容,左右边内容都可变
#endregion

#region 不能进行范围比较
// 在C#,判断是否在两个值之间不可以用类似于 1 < a < 2,这种写法
// 判断一个变量是否在两个值之间,要使用逻辑运算符
#endregion

#region 不同类型之间的比较
// 不同数值类型之间可以随意的进行条件比较
// 但是decimal与float和double都不能直接进行比较
int i = 5;
float f = 1.2f;
ushort us = 3;
decimal de = 2.4m;

result = i > f;
result = de < us;

// string bool 只能同类型 == 和 != 比较
string str = "234";
char c = 'A';
bool bo = true;

result = str == "123";
result = str != "123";

result = c == 'B';

result = bo == false;

// char不仅可以和自己类型进行 == != 比较,还可以和数值类型比较
// 还可以和字符类型进行比较
result = c > 123;
result = c > 'B';

#endregion

}
}
}