变量命名(linq 谓词)
本文关键字:谓词 linq 变量 | 更新日期: 2023-09-27 17:57:10
我习惯了
for(int i = ...)
for(int j = ...)
for(int k = ...)
如果嵌套索引超过 2 个,那么我给其中一些正确的名称(item
、obj
、parent
、window
等)。
然后我习惯了将e
作为事件参数和异常的事件:
try { ... } catch (Exception... e)
如果异常在事件中,那么我使用ee
变量。
但是林克呢?我看到有些人使用
blablabla.Any(i => i.Value == SomeValue);
或
bla.Where(u => u.Something == Something);
在谓词或仅意见中命名变量是否有任何标准?还是只有我?=D
一种常见的做法是使用单个字母,即该类型的第一个字母,c
表示customers
,p
表示products
。 x
经常使用,我在键入 lambda 时会使用 x
,但通常会重构为与集合项匹配的描述性名称或单个字母。
如果它不仅仅是一个简单的 lambda,请考虑像往常一样使用正确的描述性变量名称。
最终目标是使代码可读。如果您认为简单的x
可读,请使用 x
。如果您觉得给全名更易读,请使用全名。
让我扩展一下上面的评论。我对一些 LINQ 查询使用常识,例如
bool hasExpiredItems = items.Any(item => item.IsExpired());
如果我有一个复数集合名称,那么,就像在这个带有 Any()
的例子中一样,我使用单数item
。不过这不是规则,只要使用您认为有意义的内容即可。
编辑:
哎呀,我的例子错了。已更新。