C#中各种循环遍历的功能与应用

news2024/11/17 21:45:41

在这里插入图片描述
在C#编程中,循环遍历是一种重要的技巧,它使我们能够有效地处理集合、数组和其他数据结构。本文将深入探讨C#中常见的循环遍历方式,包括for循环、foreach循环、while循环和do while循环,并给出它们在实际应用中的使用场景、示例和最佳实践。


目录

  • 一、for循环
  • 二、foreach循环
  • 三、while循环
  • 四、do while循环
  • 结论


一、for循环

for循环是一种常见的循环结构,它允许我们指定一个初始条件、一个终止条件和一个递增/递减表达式。for循环特别适用于在已知循环次数的情况下进行迭代遍历。
在这里插入图片描述

使用场景:

  • 遍历固定长度的数组或列表。
  • 迭代执行一段代码块固定次数。

示例:

for (int i = 1; i <= 10; i++)
{
    Console.WriteLine(i);
}

二、foreach循环

foreach循环是一种用于遍历集合、数组和其他可枚举对象的循环方式。它提供了一种方便且简洁的方式来遍历集合元素,不需要显式地指定索引或使用指针。

使用场景:

  • 遍历集合或数组中的元素,无需关心索引。
  • 遍历实现了IEnumerable接口的自定义类型。

示例:

string[] names = { "Alice", "Bob", "Charlie", "Dave" };

foreach (string name in names)
{
    Console.WriteLine(name);
}

三、while循环

while循环是一种在指定条件为真时重复执行的循环结构。它适用于在未知次数的情况下进行迭代遍历,只要条件为真,就会一直循环执行。
在这里插入图片描述

使用场景:

  • 在某个条件满足时循环执行一段代码块。
  • 进行用户输入验证或循环查询数据。

示例:

int i = 1;

while (i <= 100)
{
    if (i % 2 == 0)
    {
        Console.WriteLine(i);
    }
    i++;
}

四、do while循环

do while循环是一种和while循环类似的循环结构,不同之处在于do while循环先执行循环体,再检查循环条件。这保证至少执行一次循环体。
在这里插入图片描述

使用场景:

  • 至少执行一次循环体,并在判断条件前检查循环是否继续执行。

示例:

int num;

do
{
    Console.WriteLine("请输入一个正整数:");
    num = Convert.ToInt32(Console.ReadLine());
}
while (num <= 100);

结论

C#中的各种循环遍历方式在不同场景下有着不同的应用。根据实际需要,选择合适的循环方式可以提高程序的效率和可读性。熟练掌握这些循环方式,并能灵活地运用于实际项目中,将使我们成为更高效的C#开发者。

注意:以上仅为C#中常见的循环方式示例,实际编码中还有其他灵活的搭配方式,需要根据具体需求进行选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1117738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国内外数据保护(灾备、备份、恢复、复制、归档)厂商

做在数据保护领域呆了3年&#xff0c;这里回顾一下经常接触、对比的国内外服务提供商。 国内做数据保护一般会和国外的这几家进行对比&#xff1a; commvault&#xff0c;一般简称为CV Commvault 是一家美国上市数据保护和数据管理软件公司&#xff0c;总部位于新泽西州廷顿…

STM32F4x之中断一

一、中断简介 中断概念&#xff1a;程序在运行过程中发生了外部或内部事件时&#xff0c;导致中断了正在执行的程序&#xff0c;让CPU转到外部或内部事件中去执行。 中断的作用&#xff1a;大量节约CPU资源&#xff0c;提高程序的效率&#xff0c;即避免重要事件被错过。 中断…

深度强化学习 第 5 章 SARSA 算法

上一章介绍了 Q 学习的表格形式和神经网络形式&#xff08;即 DQN&#xff09;。 TD 算法是一大类算法的总称。上一章用的 Q 学习是一种 TD 算法&#xff0c; Q 学习的目的是学习最优动作价值函数 Q ⋆ Q_⋆ Q⋆​ 本章介绍 SARSA&#xff0c;它也是一种 TD 算法&#xff0c; S…

vue3 + fastapi 实现选择目录所有文件自定义上传到服务器

文章目录 ⭐前言&#x1f496; 技术栈选择 ⭐前端页面搭建&#x1f496; 调整请求content-type传递formData ⭐后端接口实现&#x1f496; swagger文档测试接口 ⭐前后端实现效果&#x1f496; 上传单个文件&#x1f496; 上传目录文件 ⭐总结⭐结束 ⭐前言 大家好&#xff0c…

UE5场景逐渐变亮问题

1、显示 -- 关闭眼部适应 2、项目设置 -- 关闭自动曝光 参考&#xff1a; 虚幻5/UE5 场景亮度逐渐变亮完美解决方法 - 哔哩哔哩

2024免费的苹果电脑杀毒软件cleanmymac X

苹果电脑怎么杀毒&#xff1f;这个问题自从苹果电脑变得越来越普及&#xff0c;苹果电脑的安全性问题也逐渐成为我们关注的焦点。虽然苹果电脑的安全性相对较高&#xff0c;但仍然存在着一些潜在的威胁&#xff0c;比如流氓软件窥探隐私和恶意软件等。那么&#xff0c;苹果电脑…

mac苹果电脑使用耳机听不到声音

大家在使用耳机收听音乐时候&#xff1f;是否经常遇到声音和音频播放问题的情况。这里小编为大家带来了三种不同的方法&#xff0c;帮助大家解决耳机在macOS系统电脑上怎么听不到任何声音的教程。如果大家对这篇文章感兴趣&#xff0c;那就来看下面的具体步骤吧。 方法一、检查…

平行进口美规,加版奔驰S500 S580更换主机,汉化导航,语音交互等功能

平行进口美规&#xff0c;加版奔驰S500 S580更换中规主机后&#xff0c;有中国地图导航&#xff0c;AR实景画面&#xff0c;中文你好奔驰&#xff0c;汉化摄氏度&#xff0c;激活自动变道&#xff0c;增强型抬头显示还可以实现箭头指示功能&#xff0c;原车带流星雨大灯还可以实…

人均瑞数系列,瑞数 6 代 JS 逆向分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

“时尚设计 时尚原创”首届广州(三元里)时尚设计大赛正式起航

10月18日上午&#xff0c;由广州市商务局、广州市工业和信息化局、白云区人民政府指导&#xff0c;白云区科技工业商务和信息化局、白云区三元里街道办事处主办&#xff0c;广东省皮具商会、三元里街工商业联合会承办&#xff0c;白云世界皮具贸易中心作为执行单位的首届广州(三…

免费高清壁纸下载(静态和动态壁纸)

一、网址下载&#xff08;静态壁纸&#xff09; 高清图片直接另存为就可以了。然后在电脑空白处右键——个性化设置即可替换壁纸。 ①网址&#xff1a;https://www.hippopx.com ②极简壁纸&#xff1a;https://bz.zzzmh.cn/index ③彼岸图网&#xff1a;http://pic.netbian…

大模型基础——大模型范式

大模型背后的范式 整个预训练语言模型的使用范式&#xff1a; 对于预训练模型&#xff0c;最核心的要素是从无标注的数据中去学习&#xff0c;通过自监督的一些任务去做预训练&#xff0c;得到丰富的知识。在具体的应用中&#xff0c;会引入一些任务相关的数据&#xff0c;去调…

Leetcode—2525.根据规则将箱子分类【简单】

2023每日刷题&#xff08;五&#xff09; Leetcode—2525.根据规则将箱子分类 实现代码 char * categorizeBox(int length, int width, int height, int mass){long long volume;long long len (long long)length;long long wid (long long)width;long long heig (long lo…

十八、字符串(2)

本章概要 格式化输出 printf()Systen.out.format()Formatter 类格式化修饰符Formatter 转换String.format() 一个十六进制转储&#xff08;dump&#xff09;工具 格式化输出 在长久的等待之后&#xff0c;Java SE5 终于推出了 C 语言中 printf() 风格的格式化输出这一功能…

VFP GRID每行BLOB显示图片,简单几行代码就完成啦

不止一位狐友问我&#xff0c;想在表格里面显示图片&#xff0c;于是我想了想&#xff0c;满足狐友们的期望&#xff0c;升级了一个框架控件&#xff0c;再来个超容易的教程。 一、拖入一个表单 二、删除自动生成的TEXTBOX1 选中表格&#xff0c;右键->编辑 &#xff0c;点击…

Kibana Discover数据查询

步骤1&#xff1a;打开管理页面(Management) 步骤2&#xff1a; 因为前面的章节导入航班数据的时候&#xff0c;自动创建了一个名字叫kibana_sample_data_flights的航班数据索引&#xff0c;如果我们只想搜索kibana_sample_data_flights索引的数据&#xff0c;则不需要通配符&…

Mysql数据库表操作--存储

建表&#xff1a; 插入上面的数据&#xff1a; 1、创建一个可以统计表格内记录条数的存储函数 &#xff0c;函数名为count_sch() 2、创建一个存储过程avg_sal&#xff0c;有3个参数&#xff0c;分别是deptno&#xff0c;job&#xff0c;接收平均工资(out);功能查询employees表的…

哈希表超详解

目录 哈希表 概念 冲突-概念 冲突-避免 冲突-避免-哈希函数设计 冲突-避免-负载因子的调节 冲突-解决-闭散列 冲突-解决-开散列 哈希桶的实现 性能分析 java和类集的关系 哈希表 概念 顺序结构及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应关系&#xf…

不做技术不会管理,测试人还有这个职位可以进阶

之前我们讲过&#xff0c;测试工程师的4层技术发展路线都需要掌握哪些技能。学而优则仕&#xff0c;今天我们来说说如果想做某个行业的专家应该掌握哪些技能。 如果你对测试技术不感兴趣&#xff0c;但对某领域的业务兴趣浓厚&#xff0c;可以考虑行业专家路线。 由于测试工程…

python单元测试框架(继承、unittest参数化、断言、测试报告)

一、继承 继承能解决什么问题&#xff1f; unittest每个模块都要用到前提条件以及清理&#xff0c;如果有上百个模块&#xff0c;我们要改域名和浏览器&#xff0c;就会工作量很大特别麻烦&#xff0c;这时我们可以用继承的思想只用改一次 我们可以将前提和清理提出来单独放…