.NET中的迭代器变量命名约定

时间:2009-09-14 13:40:56

标签: .net

在标准的foreach循环中,迭代器变量有一个普遍接受的命名约定吗?

通常,我使用currXXX,其中XXX基本上是我正在迭代的名称。我没有看到其他人遵循这个惯例,只要我记得,这就是我一直在做的事情。我确实看到了一个类似于我正在迭代的名称的价值。

有什么意见吗?任何“官方”推荐?

foreach(var currName in names)
{
   //do stuff
}

5 个答案:

答案 0 :(得分:13)

我不知道有任何官方建议,但我倾向于使用foreach (var singular in plural)模式。例如:

foreach (var name in names)
{
    // do stuff
}

答案 1 :(得分:2)

像其他人一样使用复数和单数,并避免'curr'。

如果必须使用它,请使用“当前”。像curr这样的缩减前缀,但也像s(用于字符串),i(用于整数)和其他缩写只会使代码的可读性降低。唯一的附加值是更少的输入和更少的磁盘空间(这些天不是附加值)。但在你知道它之前,人们正在使用像dpdl这样的东西用于下拉列表等。

答案 2 :(得分:1)

正如其他人所说,如果可能,只需使用此表格:

foreach (var single in plural)

然而,有时这没有意义,或者你无法做到(也许这个名字已经说过了)。在那种情况下:

foreach (var item in plural)

答案 3 :(得分:0)

据我所知,没有任何官方消息。我通常使用复数作为集合,单数形式使用单数形式:

foreach(string name in names) {}
foreach(Car car in cars) {}
foreach(User user in users) {}

你明白了!

答案 4 :(得分:0)

我不会在这种情况下改变因为它不清楚currName是什么类型。

我会明确指定类型:

foreach(YourType currName in names)
{
   //do stuff
}