CS1L14——三目运算符

三目运算符

基本语法

套路:3个空位 2个符号
固定语法:空位 ?空位 :空位;
关键信息:bool类型 ?bool类型为真返回内容 :bool类型为假返回内容;
三目运算符会有返回值,这个返回值类型必须一致,并且必须使用!

1
2
3
4
5
6
7
8
9
10
11
12
13
string str = false ? "条件为真" : "条件为假";
Console.WriteLine(str);

int a = 5;
str = a < 1 ? "a大于1" : "a不满足条件";
Console.WriteLine(str);

int i = a > 1 ? 123 : 234;
Console.WriteLine(i);

## 条件为假
## a不满足条件
## 123

具体使用

第一个空位 始终是结果类型是bool的表达式 bool变量 条件表达式 逻辑运算符表达式
第二三个空位 什么表达式都可以 只要保证他们的结果类型是一致的

1
2
3
4
bool b = a > 1 ? a > 6 : !false;
Console.WriteLine(b);

## False

本课源代码

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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
namespace lesson15if语句
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("if语句");
#region 作用
//让顺序执行的代码 产生分支
//if语句是一个可以让程序产生逻辑变化的语句
#endregion

#region if语句
//作用:满足条件时多执行一些代码
//固定语法:
//if( bool类型值 ) //bool类型相关:bool变量 条件运算符表达式 逻辑运算符表达式
//{
// 满足条件时要执行的代码写在if代码块里;
//}
//注意:if语句的语法部分不需要写 ";"
//if可以嵌套使用

if (true)
{
Console.WriteLine("进入了if语句的代码块");
Console.WriteLine("执行了其中的代码逻辑");
}
Console.WriteLine("if语句外的代码");

int a = 1;
if (a > 0 && a < 5)
{
Console.WriteLine("满足a在0到5之间");
}

//嵌套使用
string name = "SevenL";
string password = "666";
if (name == "SevenL")
{
Console.WriteLine("用户名验证成功");
if (password == "666")
{
Console.WriteLine("密码运用成功");
//可以无线嵌套
}
}

#endregion

#region if...else...
//作用:产生两条分支 满足条件做if内代码块,不满足则做else内代码块
//if (bool类型值)
//{
// 满足条件执行的代码
//}
//else
//{
// 不满足条件执行的代码
//}
//注意:
//1、if...else 语句的语法部分不需要写分号
//2、if...else 语句可以嵌套
if (true)
{
Console.WriteLine("满足if条件时...");
}
else
{
Console.WriteLine("不满足条件时...");
}

//其他的使用和if使用时一样
//与if语句一样可以嵌套,也可以无限嵌套
#endregion

#region if...else if...else if... else...
//作用:产生n条分支 多条道路选择 最先满足其中的一个条件 就做什么
//语法:
// if (bool类型值)
//{
// 满足条件执行的代码
//}
//else if (bool类型值)
//{
// 满足条件执行的代码
//}
//...中间可以有n个else if语句的代码块
//else
//{
// 不满足条件执行的代码
//}

//注意:
//1、和前面两个是一样的 不需要写分号
//2、是可以嵌套的
//3、else可以省略
//4、注意:条件判断 从上到下执行 满足了第一个之后 之后的都不会执行了
int a3 = 6;
if (a3 >= 10)
{
Console.WriteLine("a大于等于10");
}
else if (a3 > 5 && a3 < 10)
{
Console.WriteLine("a在5和10之间");
}
else if (a3 >= 0 && a3 <= 5)
{
Console.WriteLine("a在0到5之间");
}
else
{
Console.WriteLine("a小于0");
}
//如果不加else,则每个if都会执行
#endregion
}
}
}