LINQ命名标准 - Lambda表达式

Jee*_*raj 11 .net c# linq naming-conventions

我们通常遵循所有C#语法的编码/命名标准.例如,如果我们在方法中声明字符串,我们使用Scope-datatype-FieldName格式.(lstrPersonName)

List<Person> icolPerson;
private LoadPersonName()
{
   string lstrPersonaName;
}
Run Code Online (Sandbox Code Playgroud)

我想我们如何遵循Lambda Expression中的命名标准.特别是当我们为func委托定义参数时,我们使用像x这样的短名称.例如

var lobjPerson = icolPerson.Where(x => x.person_id = 100)
Run Code Online (Sandbox Code Playgroud)

如果您查看上面的行,X不遵循任何标准.我还读到lambda表达式的一个目的是减少lenghthy代码.

我在这里寻求帮助以获得命名标准的正确方法.

var lobjPerson = icolPerson.Where(x => x.person_id = 100)
Run Code Online (Sandbox Code Playgroud)

要么

var lobjPerson = icolPerson.Where(lobjPerson => lobjPerson .person_id = 100)
Run Code Online (Sandbox Code Playgroud)

R. *_*des 11

我的lambda使用一个字母参数,通常是参数名称的第一个字母:

  • buttons.Select(b => b.Text);

  • services.Select(s => s.Type);

但有时我会添加一些字母以使事情更清晰,或消除两个参数之间的歧义.

当我使用xs和ys 的东西没有多少意义时:

  • values.Aggregate((x, y) => x + y);

总而言之,我用于lambdas的标准首先是简短,后来是表达性,因为上下文倾向于帮助理解事物(在第一个例子中,显然b代表按钮).


Guf*_*ffa 8

我在VBScript(ASP)中做了很多编程,并且使用匈牙利表示法来跟踪数据类型对于保持理智至关重要.在像C#这样的类型安全的语言中,我完全没有使用匈牙利语表示法.

描述性变量名称对代码的可读性非常重要,但并不总是需要描述变量的每个方面.类似的名称persons表示它是人物对象的集合,无论是一个List<Person>还是IEnumerable<Person>通常对于理解代码正在做什么都不重要,编译器会立即告诉您是否正在尝试做一些完全错误的事情.

我经常使用单字母变量名称,其中变量的范围非常有限.例如,i小循环或lambda表达式中的索引变量.