You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#能否实现单行for循环?对比Python单行循环示例

C# 中的单行循环实现方式

当然可以,C#里有几种方式能实现类似Python单行循环的效果,不过要根据实际需求选择:

1. 单纯遍历执行操作(比如打印)

如果只是想遍历一组值并执行某个动作(比如打印),可以结合LINQ和List<T>.ForEach方法写成单行:

Enumerable.Range(0, 10).ToList().ForEach(x => Console.WriteLine(x));

甚至可以更简洁,直接传递方法引用:

Enumerable.Range(0, 10).ToList().ForEach(Console.WriteLine);

注意:ForEach是List<T>的实例方法,所以需要先把Enumerable.Range返回的IEnumerable<int>转成List<int>。

2. 类似Python列表推导式(生成集合+执行操作)

如果想像Python那样,在生成集合的同时执行副作用操作(比如打印),可以用LINQ的Select方法,在委托里同时处理操作和返回值:

var myList = Enumerable.Range(0, 10).Select(x => { Console.WriteLine(x); return x; }).ToList();

这样myList会包含0到9的整数,同时控制台会打印每个数字,和你给出的Python示例逻辑一致。

额外提醒

虽然单行写法可行,但不建议用LINQ来执行有副作用的操作(比如打印)——LINQ的设计初衷是用于查询数据,副作用会让代码的意图变得模糊,可读性下降。如果只是单纯遍历执行操作,更推荐用普通的单行foreach循环:

foreach (var x in Enumerable.Range(0, 10)) Console.WriteLine(x);

这种写法同样简洁,而且意图更清晰。

内容的提问来源于stack exchange,提问作者ada7ke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:27:13