在C#3.0中,我喜欢这种风格:

// Write the numbers 1 thru 7
foreach (int index in Enumerable.Range( 1, 7 ))
{
    Console.WriteLine(index);
}

在传统的for循环中:

// Write the numbers 1 thru 7
for (int index = 1; index <= 7; index++)
{
    Console.WriteLine( index );
}

假设‘n’很小,那么性能不是问题,有没有人反对新风格而不是传统风格?

推荐答案

我发现后者的"最小到最大"格式比Range的"最小计数"格式更清晰.而且,我不认为从规范中做出这样的改变是一种很好的做法,这种改变不是更快,不是更短,不是更熟悉,也不是明显更清晰.

尽管如此,我总体上并不反对这个 idea .如果你给我的语法看起来像foreach (int x from 1 to 8),那么我可能会同意,这将是对for循环的改进.然而,Enumerable.Range相当笨重.

.net相关问答推荐

DotNet COM初始化问题

AutoMapper在实体框架查询后不知从哪里带来数据

如何将 signalR 添加到不同项目中的后台服务?

在数据网格中:如何在更改单元格 A 中的值后显示单元格 B 中的更改

即时窗口中的动态导致Microsoft.CSharp.RuntimeBinder.Binder未定义或导入错误

如何解决请确保文件可访问并且它是有效的程序集或 COM 组件?

将客户端证书添加到 .NET Core HttpClient

我可以从 .NET/C# 获取其他进程的命令行参数吗?

使文本框不可编辑

如何根据新的安全策略在 .Net 中发送邮箱?

C# 属性实际上是方法吗?

在 C# 中将字符串转换为十六进制字符串

.NET 事件 - 什么是对象发送者和 EventArgs e?

是否有可用的 WPF 备忘单?

等待 Async Void 方法调用以进行单元测试

立即检测客户端与服务器套接字的断开连接

.NET 委托类型的正确命名约定?

您可以将 Microsoft Entity Framework 与 Oracle 一起使用吗?

App.config:用户与应用程序范围

枚举和匹配属性的 C# 命名约定