C# Break 和 Continue 语句以及数组详解

C# Break

它被用于“跳出” switch 语句。

break 语句也可用于跳出循环。

以下示例在 i 等于 4 时跳出循环:

示例:

1for (int i = 0; i < 10; i++) 2{ 3 if (i == 4) 4 { 5 break; 6 } 7 Console.WriteLine(i); 8}

C# Continue

continue 语句在循环中发生特定条件时中断一次迭代,并继续进行下一次迭代。

以下示例跳过了值为 4 的情况:

示例

1for (int i = 0; i < 10; i++) 2{ 3 if (i == 4) 4 { 5 continue; 6 } 7 Console.WriteLine(i); 8}

在 While 循环中使用 Break 和 Continue

您也可以在 while 循环中使用 breakcontinue

Break 示例

1int i = 0; 2while (i < 10) 3{ 4 Console.WriteLine(i); 5 i++; 6 if (i == 4) 7 { 8 break; 9 } 10}

Continue 示例

1int i = 0; 2while (i < 10) 3{ 4 if (i == 4) 5 { 6 i++; 7 continue; 8 } 9 Console.WriteLine(i); 10 i++; 11}

C# Arrays

创建数组

数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。

要声明数组,请使用方括号定义变量类型:

1string[] cars;

我们现在声明了一个变量,该变量持有一个字符串数组。

要向其中插入值,我们可以使用数组字面量 - 将值放在花括号内,用逗号分隔:

1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

要创建一个整数数组,您可以编写:

1int[] myNum = {10, 20, 30, 40};

访问数组元素

通过引用索引号来访问数组元素。

此语句访问 cars 中第一个元素的值:

1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 2Console.WriteLine(cars[0]); 3// 输出 Volvo

注意:数组索引从 0 开始:[0] 是第一个元素。[1] 是第二个元素,以此类推。

更改数组元素

要更改特定元素的值,请引用索引号:

1cars[0] = "Opel";
1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 2cars[0] = "Opel"; 3Console.WriteLine(cars[0]); 4// 现在输出 Opel 而不是 Volvo

数组长度

要了解数组有多少个元素,请使用 Length 属性:

1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 2Console.WriteLine(cars.Length); 3// 输出 4

创建数组的其他方法

如果您熟悉 C#,可能已经看到使用 new 关键字创建的数组,而且可能还看到具有指定大小的数组。在 C# 中,有不同的创建数组的方法:

1// 创建包含四个元素的数组,并稍后添加值 2string[] cars = new string[4]; 3 4// 创建包含四个元素的数组并立即添加值 5string[] cars = new string[4] {"Volvo", "BMW", "Ford", "Mazda"}; 6 7// 创建四个元素的数组,立即添加值,而不指定大小 8string[] cars = new string[] {"Volvo", "BMW", "Ford", "Mazda"}; 9 10// 创建包含四个元素的数组,省略 new 关键字,并且不指定大小 11string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

由您选择使用哪种选项,经常使用最后一种选项,因为它更快速且更易读

但是,请注意,如果您声明数组并稍后初始化它,您必须使用 new 关键字:

1// 声明一个数组 2string[] cars; 3 4// 使用 new 添加值 5cars = new string[] {"Volvo", "BMW", "Ford"}; 6 7// 不使用 new 添加值(这将导致错误) 8cars = {"Volvo", "BMW", "Ford"};

C# Loop Through Arrays

循环遍历数组

您可以使用 for 循环遍历数组元素,并使用 Length 属性指定循环应运行多少次。

以下示例输出 cars 数组中的所有元素:

示例:

1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 2for (int i = 0; i < cars.Length; i++) 3{ 4 Console.WriteLine(cars[i]); 5}

foreach 循环

还有一个专门用于遍历数组元素的 foreach 循环:

语法

1foreach (type variableName in arrayName) 2{ 3 // 要执行的代码块 4}

以下示例使用 foreach 循环输出 cars 数组中的所有元素:

示例

1string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 2foreach (string i in cars) 3{ 4 Console.WriteLine(i); 5}

上面的示例可以这样理解:对于数组中的每个字符串元素(称为 i - 如索引),打印出 i 的值。

如果您比较 for 循环和 foreach 循环,您会发现 foreach 方法更容易编写,不需要计数器(使用 Length 属性),而且更易读。

C# Sort Arrays

排序数组

有许多可用的数组方法,例如 Sort(),它可以按字母顺序或升序对数组进行排序:

示例:

1// 对字符串进行排序 2string[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; 3Array.Sort(cars); 4foreach (string i in cars) 5{ 6 Console.WriteLine(i); 7} 8 9// 对整数进行排序 10int[] myNumbers = {5, 1, 8, 9}; 11Array.Sort(myNumbers); 12foreach (int i in myNumbers) 13{ 14 Console.WriteLine(i); 15}

System.Linq 命名空间

其他有用的数组方法,如 MinMaxSum,可以在 System.Linq 命名空间中找到:

示例

1using System; 2using System.Linq; 3 4namespace MyApplication 5{ 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 int[] myNumbers = {5, 1, 8, 9}; 11 Console.WriteLine(myNumbers.Max()); // 返回最大值 12 Console.WriteLine(myNumbers.Min()); // 返回最小值 13 Console.WriteLine(myNumbers.Sum()); // 返回元素的和 14 } 15 } 16}

C# Multidimensional Arrays

多维数组

如果您想将数据存储为表格形式,比如具有行和列的表格,您需要了解多维数组。

多维数组基本上就是数组的数组。

数组可以有任意数量的维度。最常见的是二维数组(2D)。

二维数组

要创建一个二维数组,请在每个数组中添加自己的一组花括号,并在方括号内插入逗号(,):

示例:

1int[,] numbers = { {1, 4, 2}, {3, 6, 8} };

好知道:单个逗号 [,] 指定数组是二维的。三维数组将有两个逗号:int[,,]

现在,numbers 是一个包含两个数组的数组。第一个数组元素包含三个元素:1、4 和 2,而第二个数组元素包含 3、6 和 8。为了可视化,可以将该数组看作是一个带有行和列的表格:

访问二维数组的元素

要访问二维数组的元素,必须指定两个索引:一个用于数组,一个用于该数组中的元素。或者更好地说,考虑到表格的可视化;一个用于行,一个用于列(见下面的示例)。

此语句访问了 numbers 数组中第一行(0)和第三列(2)中元素的值:

示例

1int[,] numbers = { {1, 4, 2}, {3, 6, 8} }; 2Console.WriteLine(numbers[0, 2]); // 输出 2

记住:数组索引从 0 开始:[0] 是第一个元素。[1] 是第二个元素,以此类推。

更改二维数组的元素

您还可以更改元素的值。

以下示例将更改第一行(0)和第一列(0)中元素的值:

示例

1int[,] numbers = { {1, 4, 2}, {3, 6, 8} }; 2numbers[0, 0] = 5; // 更改值为 5 3Console.WriteLine(numbers[0, 0]); // 输出 5 而不是 1

循环遍历二维数组

您可以使用 foreach 循环轻松遍历二维数组的元素:

示例

1int[,] numbers = { {1, 4, 2}, {3, 6, 8} }; 2 3foreach (int i in numbers) 4{ 5 Console.WriteLine(i); 6}

您还可以使用 for 循环。对于多维数组,您需要为数组的每个维度使用一个循环。

还要注意,我们必须使用 GetLength() 而不是 Length 来指定循环应该运行多少次:

示例

1int[,] numbers = { {1, 4, 2}, {3, 6, 8} }; 2 3for (int i = 0; i < numbers.GetLength(0); i++) 4{ 5 for (int j = 0; j < numbers.GetLength(1); j++) 6 { 7 Console.WriteLine(numbers[i, j]); 8 } 9}

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

JS中arr.forEach()如何跳出循环

示例我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。使用break将会报错:vararr使用return也不能跳出整个循环:vararr那么在用forEach()遍历数组时要如何才能跳出循环呢?经过查找资料后,我找到了两种方法可以实现跳出

java认知打卡第三天

if语句、while语句、for语句,switch语句;break整体跳出switch和for语句;continue跳出for循环当前的一条,继续后面的循环。面向对象的设计(OOP),java完全的面向对象进行编码,也就是万物皆对象,以对象的属性和行为进行思考的方式,去理解java的编程思维。OOP将数据放在第一位,操作数据的算法放在了第二位。C语言

Shell编程基础

本文索引:for循环while循环break跳出循环continue结束本次循环exit退出整个脚本for循环语法:for变量名in条件;do...;donefor循环实例循环计算计算1100的和!/bin/b

Python for

原文链接: Pythonforelse语句(https://my.oschina.net/ahaoboy/blog/1836014)当循环正常退出时,包括循环结束和continue时,才会调用else中的语句 当使用break结束循环时,不会执行else中的语句foriinrange(5):print(i

Python小白学习之基础知识(个人笔记)

介绍whileelse的使用,这个不常用格式化输出  whileesle,当循环内有break语句时,不执行else语句,当没有break语句时,执行完while循环,然后执行else下面的语句  案例如下:1登陆三次2i034whilei<3:

C语言二次系统学习3(分支循环、函数)

本次学习,主要针对语句和函数两部分进行学习。分支语句(if,switch)与循环语句(while,for,dowhile)switch语句中,在每个选择之后如果不进行break跳出,会执行下一个case,而且应注意default语句的使用,一般会放在{}代码块的后方dowhile语句中,会首先执行一次循环,再进行判定,所以使用相对较少。whi