变量命名(linq谓词)

时间:2014-04-07 10:25:25

标签: c# linq naming

我已经习惯了

for(int i = ...)
    for(int j = ...)
        for(int k = ...)

如果有两个以上的嵌套索引,那么我会给它们一些专有名称(itemobjparentwindow等。)。


然后我习惯使用e作为事件参数和异常的事件:

try { ... } catch (Exception... e)

如果异常在事件内部,那么我使用ee变量。


但是linq怎么样?我看到有些人使用

blablabla.Any(i => i.Value == SomeValue);

bla.Where(u => u.Something == Something);

是否有任何标准在谓词或仅意见中命名变量?还是只是我? = d

2 个答案:

答案 0 :(得分:2)

通常的做法是使用单个字母,类型的第一个字母,c customersp productsx被大量使用,我在键入lambda时使用x,但通常会重构为描述性名称或与集合项匹配的单个字母。

如果它不仅仅是一个简单的lambda,请考虑始终使用正确的描述性变量名称。

最终目标是使代码可读。如果您觉得简单x可读,请使用x。如果您觉得给全名更具可读性,请使用全名。

答案 1 :(得分:1)

让我扩展上面的评论。我对一些LINQ查询使用常识,例如

bool hasExpiredItems = items.Any(item => item.IsExpired());

如果我有一个复数的集合名称,那么就像在Any()的示例中一样,我使用单数item。这不是一个规则,jsut使用你认为有意义的东西。

编辑:

哎呀,我的例子错了。已经更新了。