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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
云原生网关 MSE Higress,422元/月
简介: 它被用于“跳出” switch 语句。break 语句也可用于跳出循环。以下示例在 i 等于 4 时跳出循环:示例:

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,关注后即可获取最新文章推送

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

相关文章
|
16天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
8天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
11天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
1032 34
|
10天前
|
机器学习/深度学习 人工智能 搜索推荐
万字长文深度解析最新Deep Research技术:前沿架构、核心技术与未来展望
近期发生了什么自 2025 年 2 月 OpenAI 正式发布Deep Research以来,深度研究/深度搜索(Deep Research / Deep Search)正在成为信息检索与知识工作的全新范式:系统以多步推理驱动大规模联网检索、跨源证据。
788 55
|
8天前
|
文字识别 测试技术 开发者
Qwen3-VL新成员 2B、32B来啦!更适合开发者体质
Qwen3-VL家族重磅推出2B与32B双版本,轻量高效与超强推理兼备,一模型通吃多模态与纯文本任务!
676 11