-
C# 循环与条件语句详解
C# Switch 语句
使用 switch
语句选择要执行的多个代码块中的一个。
示例:
|
switch(expression) |
|
{ |
|
case x: |
|
// 代码块 |
|
break; |
|
case y: |
|
// 代码块 |
|
break; |
|
default: |
|
// 代码块 |
|
break; |
|
} |
它的工作方式如下:
-
评估
switch
表达式一次 -
将表达式的值与每个
case
的值进行比较 - 如果有匹配,执行关联的代码块
以下示例使用星期几的数字来计算星期几的名称:
示例
|
int day = 4; |
|
switch (day) |
|
{ |
|
case 1: |
|
Console.WriteLine("星期一"); |
|
break; |
|
case 2: |
|
Console.WriteLine("星期二"); |
|
break; |
|
case 3: |
|
Console.WriteLine("星期三"); |
|
break; |
|
case 4: |
|
Console.WriteLine("星期四"); |
|
break; |
|
case 5: |
|
Console.WriteLine("星期五"); |
|
break; |
|
case 6: |
|
Console.WriteLine("星期六"); |
|
break; |
|
case 7: |
|
Console.WriteLine("星期日"); |
|
break; |
|
} |
|
// 输出 "星期四"(第 4 天) |
break
关键字
当 C# 遇到 break
关键字时,它会跳出 switch
块。
这将停止执行更多 switch
块内部的代码和 case
测试。
当找到匹配并完成任务时,是时候休息一下了。不需要进行更多测试。
break
可以节省大量执行时间,因为它“忽略”了 switch
块中其余代码的执行。
default
关键字
default
关键字是可选的,如果没有 case
匹配,则指定一些代码运行:
示例
|
int day = 4; |
|
switch (day) |
|
{ |
|
case 6: |
|
Console.WriteLine("今天是星期六。"); |
|
break; |
|
case 7: |
|
Console.WriteLine("今天是星期日。"); |
|
break; |
|
default: |
|
Console.WriteLine("期待周末。"); |
|
break; |
|
} |
|
// 输出 "期待周末。" |
C# While Loop
循环
循环可以执行一段代码,只要满足指定的条件。
循环很方便,因为它们节省时间、减少错误,并使代码更易读。
C# While 循环
while
循环会在指定条件为 True
的情况下循环执行一段代码块:
示例:
|
while (condition) |
|
{ |
|
// 要执行的代码块 |
|
} |
在下面的示例中,只要变量(i
)小于 5
,循环中的代码将一遍又一遍地运行:
示例
|
int i = 0; |
|
while (i < 5) |
|
{ |
|
Console.WriteLine(i); |
|
i++; |
|
} |
注意:不要忘记增加条件中使用的变量,否则循环永远不会结束!
Do/While 循环
do/while
循环是 while
循环的变体。这个循环会在检查条件是否为真之前执行一次代码块,然后只要条件为真就重复循环。
语法
|
do |
|
{ |
|
// 要执行的代码块 |
|
} |
|
while (condition); |
下面的示例使用了 do/while
循环。即使条件为 false
,循环也会至少执行一次,因为在测试条件之前执行代码块:
示例
|
int i = 0; |
|
do |
|
{ |
|
Console.WriteLine(i); |
|
i++; |
|
} |
|
while (i < 5); |
不要忘记增加条件中使用的变量,否则循环永远不会结束!
C# For Loop
C# For 循环
当你确切地知道要循环执行一段代码多少次时,使用 for
循环而不是 while
循环:
示例:
|
for (statement 1; statement 2; statement 3) |
|
{ |
|
// 要执行的代码块 |
|
} |
Statement 1
在执行代码块之前执行(一次)。
Statement 2
定义执行代码块的条件。
Statement 3
在执行代码块后执行(每次)。
下面的示例将打印出数字 0
到 4
:
示例
|
for (int i = 0; i < 5; i++) |
|
{ |
|
Console.WriteLine(i); |
|
} |
示例说明
-
Statement 1
在循环开始之前设置一个变量(int i = 0
)。 -
Statement 2
定义循环运行的条件(i
必须小于5
)。如果条件为true
,循环将重新开始;如果条件为false
,循环将结束。 -
Statement 3
在循环中的代码块执行后增加一个值(i++
)。
另一个示例
这个示例将只打印出在 0
到 10
之间的偶数值:
示例
|
for (int i = 0; i <= 10; i = i + 2) |
|
{ |
|
Console.WriteLine(i); |
|
} |
嵌套循环
也可以将一个循环放在另一个循环内部。这被称为嵌套循环。
"内部循环" 将在 "外部循环" 的每次迭代中执行一次:
示例
|
// 外部循环 |
|
for (int i = 1; i <= 2; ++i) |
|
{ |
|
Console.WriteLine("外部: " + i); // 执行 2 次 |
|
|
|
// 内部循环 |
|
for (int j = 1; j <= 3; j++) |
|
{ |
|
Console.WriteLine(" 内部: " + j); // 执行 6 次(2 * 3) |
|
} |
|
} |
C# For each 循环
还有一个专门用于遍历数组元素的 foreach
循环:
示例:
|
foreach (type variableName in arrayName) |
|
{ |
|
// 要执行的代码块 |
|
} |
以下示例使用 foreach
循环输出 cars
数组中的所有元素:
示例
|
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; |
|
foreach (string i in cars) |
|
{ |
|
Console.WriteLine(i); |
|
} |
出处:https://www.cnblogs.com/xiaowange/p/17981024