C# 循环结构:for/foreach/while 效率对比

简介: 循环用于重复执行代码,根据场景选择:for 适合已知次数,foreach 简洁遍历集合,while 适用于条件控制。示例演示遍历商品价格列表并计算总和,展示三种循环的用法与差异。(239字)

循环用于重复执行代码块,不同场景选择不同循环:for 适合已知次数,foreach 适合遍历集合,while 适合未知次数。

遍历商品列表 + 计算总和

List<decimal> prices = new List<decimal> { 19.9m, 29.9m, 39.9m, 49.9m };

decimal sum = 0;

// for 循环(索引访问) for (int i = 0; i < prices.Count; i++) {     sum += prices[i];     Console.WriteLine($"第{i+1}件商品价格:{prices[i]}"); }

// foreach 循环(简洁遍历)

foreach (var price in prices) {     Console.WriteLine($"商品价格:{price}"); }

// while 循环(条件终止)

int index = 0;

while (index < prices.Count) {     sum += prices[index];     index++; }

Console.WriteLine($"商品总价:{sum:C}");

相关文章
|
2天前
|
算法 C#
C# 实现简单的策略模式
策略模式定义算法族,封装可互换的算法,使算法变化独立于客户端。通过接口统一调用,支持动态切换排序方式,如冒泡排序与快速排序,提升系统灵活性与可扩展性。
|
2天前
|
设计模式 算法 C#
C# 实现简单的观察者模式
简介:本文介绍了C#中三种常用设计模式的实现:观察者模式用于解耦主题与观察者,策略模式封装可互换的算法族,工厂模式则隐藏对象创建细节,提升代码可维护性与扩展性。
|
2天前
|
缓存 安全 C#
C# 实现简单的缓存工具类
基于Dictionary实现线程安全的内存缓存,支持设置过期时间,自动清理过期项。同时提供枚举转键值对列表工具,便于下拉框数据绑定,提升开发效率。
|
2天前
|
C#
C# 变量与数据类型:3 分钟入门核心用法
C#是强类型语言,变量需声明类型或用var推断。数据类型分值类型(如int、decimal)和引用类型(如string)。示例:用int和decimal计算商品总价,并通过字符串插值输出格式化结果,适用于金融计算。
|
2天前
|
C#
C# 实现对象深拷贝(序列化方式)
利用 BinaryFormatter 实现对象深拷贝,适用于复杂对象复制。需标记类为 [Serializable],通过序列化与反序列化实现完整克隆,确保成员独立。
|
2天前
|
C# 容器
C# 实现依赖注入(简易版)
手动实现简易依赖注入容器,通过类型映射注册与解析接口和实现,管理对象创建与生命周期,提升代码解耦与可测试性。
|
2天前
|
C#
C# 利用特性(Attribute)实现自定义验证
通过自定义特性(如RequiredAttribute)标记类属性,利用反射实现数据验证逻辑。示例代码展示了如何在对象中检查必填字段,并输出验证错误信息,实现灵活的数据校验机制。
|
2天前
|
Java C#
C# 实现简单的线程池工具
使用 `ThreadPool` 管理多线程任务,有效控制并发数量,避免因线程过多导致系统性能下降。通过示例代码演示如何提交任务、跟踪完成状态,并等待所有任务结束,提升资源利用率和程序稳定性。
|
2天前
|
算法 C#
C# 实现字符串相似度计算(Levenshtein 算法)
介绍计算字符串编辑距离的算法,基于Levenshtein距离实现相似度分析,适用于搜索建议与拼写纠错,附C#代码示例。
|
2天前
|
C#
C# 实现简单的二维码生成工具
基于 ZXing.Net 库生成二维码,支持自定义尺寸与保存路径,使用简便,需先安装对应 NuGet 包。