变量命名(linq 谓词)

本文关键字:谓词 linq 变量 | 更新日期: 2023-09-27 17:57:10

我习惯了

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

如果嵌套索引超过 2 个,那么我给其中一些正确的名称(itemobjparentwindow 等)。


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

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

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


但是林克呢?我看到有些人使用

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

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

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

变量命名(linq 谓词)

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

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

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

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

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

如果我有一个复数集合名称,那么,就像在这个带有 Any() 的例子中一样,我使用单数item。不过这不是规则,只要使用您认为有意义的内容即可。

编辑:

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