C# Break

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

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

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

示例:

for (int i = 0; i < 10; i++)
{
if (i == 4)
{
break;
}
Console.WriteLine(i);
}

C# Continue

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

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

示例

for (int i = 0; i < 10; i++)
{
if (i == 4)
{
continue;
}
Console.WriteLine(i);
}

在 While 循环中使用 Break 和 Continue

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

Break 示例

int i = 0;
while (i < 10)
{
Console.WriteLine(i);
i++;
if (i == 4)
{
break;
}
}

Continue 示例

int i = 0;
while (i < 10)
{
if (i == 4)
{
i++;
continue;
}
Console.WriteLine(i);
i++;
}

C# Arrays

创建数组

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

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

string[] cars;

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

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

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

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

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

访问数组元素

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

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

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

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

更改数组元素

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

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

数组长度

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

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

创建数组的其他方法

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

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

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

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

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

C# Loop Through Arrays

循环遍历数组

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

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

示例:

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

foreach 循环

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

语法

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

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

示例

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

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

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

C# Sort Arrays

排序数组

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

示例:

// 对字符串进行排序
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Array.Sort(cars);
foreach (string i in cars)
{
Console.WriteLine(i);
} // 对整数进行排序
int[] myNumbers = {5, 1, 8, 9};
Array.Sort(myNumbers);
foreach (int i in myNumbers)
{
Console.WriteLine(i);
}

System.Linq 命名空间

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

示例

using System;
using System.Linq; namespace MyApplication
{
class Program
{
static void Main(string[] args)
{
int[] myNumbers = {5, 1, 8, 9};
Console.WriteLine(myNumbers.Max()); // 返回最大值
Console.WriteLine(myNumbers.Min()); // 返回最小值
Console.WriteLine(myNumbers.Sum()); // 返回元素的和
}
}
}

C# Multidimensional Arrays

多维数组

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

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

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

二维数组

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

示例:

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

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

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

访问二维数组的元素

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

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

示例

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

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

更改二维数组的元素

您还可以更改元素的值。

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

示例

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

循环遍历二维数组

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

示例

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

foreach (int i in numbers)
{
Console.WriteLine(i);
}

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

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

示例

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

for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}

最后

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

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

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

C# Break 和 Continue 语句以及数组详解的更多相关文章

  1. JavaScript If...Else、Switch、For、While、Break、Continue语句

    一,JavaScript If...Else 语句 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用 ...

  2. Javascript基础系列之(六)循环语句(break和continue语句)

    break和continue语句对循环中的代码执行提供了更为严格的流程控制.break语句可以立刻退出循环,阻止再次执行循环体中的任何代码.continue语句只是退出当前这一循环,根据控制表达式还允 ...

  3. for-in语句和with语句、break和continue语句

    for-in语句 for-in语句是一种精准迭代语句,可以用来枚举对象的属性,用以遍历一个对象的全部属性. for…in声明用于对数组或者对象的属性进行循环操作: for…in循环中的代码每执行一次, ...

  4. Java SE ---控制流程:break与continue语句

    在java中,可以使用break和continue语句控制循环.     1. break语句:用于终止循环,就是跳出当前循环,执行循环后面的代码. .     2. continue语句:用于跳出当 ...

  5. Java跳出循环-break和continue语句

    在实际编程中,有时需要在条件语句匹配的时候跳出循环.在Java里,由break和continue语句控制. “break”语句 “break”语句用来结束循环,即不再执行后边的所有循环. 示例:计算1 ...

  6. Matlb中break 和continue 语句

    有两个附加语句可以控制while 和for 循环:break 和continue 语句. break 语句可以中止循环的执行和跳到end 后面的第一句执行,而continue 只中止本次循环,然后返回 ...

  7. JavaScript Break 和 Continue 语句

    1.break:终止本层循坏,继续执行本次循坏后面的语句: 当循坏有多层时,break只会跳过一层循坏 2.continue:跳过本次循坏,继续执行下次循坏 对于for循环,continue执行后,继 ...

  8. 3.2.2 break 与 continue 语句

    break 语句和 continue语句在while循环和for循环中都可以使用,并且一般常与选择结构结合使用.一旦break语句被执行,将使得break语句所属层次的循环提前结束.continue语 ...

  9. 【代码笔记】Web-Javascript-javascript break和continue语句

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. break与continue语句

    1.break:立即退出循环 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

随机推荐

  1. CUDA、CUDNN 安装

    安装 CUDA.CUDNN 1. CUDA CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型.它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能. 官方地址 https:// ...

  2. 用Docker搭建DNS服务器

    0.准备工作 如果是全新安装的服务器,先要给root账户设置密码,命令是 sudo passwd root 然后切换到root账户 su root 上述过程屏幕输出如下 1.Docker-Compos ...

  3. 【Azure Notification Hub】创建Notification Hub失败,提示 unrecognized arguments: --sku Free

    问题描述 用Azure CLI命令创建 Notification Hub,报错不识别的参数 --Free SKU 问题解答 经测试发现,在创建Notification Hub前,需要创建 Notifi ...

  4. BeanShell Sampler 前置处理器

    一概念: 前置处理器主要作用: 用于修改即将发送的http的请求数据 BeanShell预处理器可以在取样器发送请求之前被执行,可以通过它完成发送请求所需的数据 其中的ctx.vars.props.p ...

  5. Java 多线程------解决 实现Runnabel接口方式线程的线程安全问题 方式二:同步方法 +总结

    方式二:同步方法* 如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明同步的 1 package bytezero.threadsynchronization; 2 3 4 5 /** ...

  6. 十步带你用IDEA创建一个WEB项目及部署(Tomcat)

    部署一个web项目首先需要安装Tomcat,还没安装的朋友们可以看一下我这个博客: https://www.cnblogs.com/deyo/p/17241878.html 第一步:打开Idea-新建 ...

  7. 尚硅谷Java 宋红康2023版 - 学习笔记

    尚硅谷Java 宋红康2023版 - 学习笔记 观看地址 https://www.bilibili.com/video/BV1PY411e7J6 60-IDEA开发工具-HelloWorld的编写与相 ...

  8. linux程序运行结果在打印到屏幕的同时写入文件

    1.使用script工具 script工具是一个非常使用的工具,可以把输出到终端的信息记录下来.使用方法如: (1)输入 script log.txt命令开始保存终端输出的信息 ,其中log.txt为 ...

  9. ADS1299开发调试总结之寄存器使用说明简析

    一 前记 在生物生理信号测量领域,ads12xx系列是一个无法绕过去的存在.笔者最近几个项目围绕着动物生理信号测量来做.所以用ads12xx比较多一些. 中间遇到了一些问题,这里做一个总结吧. 二 寄 ...

  10. RTP网络包提取码流方法

    1.工具wireshark,官网最新的版本没有保存按键,建议使用3.4 链接:https://pan.baidu.com/s/1VHSGgojZPNtzyzV6RMVjkw 提取码:q51a 2.wi ...