【问题标题】:LINQ method syntax style [closed]LINQ 方法语法样式
【发布时间】:2013-06-28 12:49:36
【问题描述】:

我发现我们团队中的每个程序员编写的 LINQ 查询都完全不同,有时可能很难阅读。在代码中看到这些千差万别的风格也非常难看(尤其是存在于同一个类中时)。

考虑以下语句:

ActiveSiteEmployeesDropDownList.DataSource =
    CurrentCompany
        .Employees
        .Where(e => e.IsActive && e.Location == location)
        .Select(e => new
        {
            DisplayName = String.Format("{0}, {1}", e.Surname, e.FirstName),
            EmployeeId = e.EmployeeId
        })
        .OrderBy(x => x.DisplayName);

您对上述应该如何写有什么建议?

【问题讨论】:

  • 我会写一些非常相似的东西......
  • 我觉得这很容易阅读。我可能也会这样写。
  • 我会这样写,也许将{new 移动到同一行。
  • 您能从您的项目中发布更多示例吗?该代码的样式到底有什么问题?
  • 我会将 'e' 替换为 'x'。为什么?因为 'e' 通常与 EventArgs 相关联。

标签: c# .net linq entity-framework coding-style


【解决方案1】:

我喜欢你编写查询的方式。

除了第一行之外,我会以完全相同的方式编写它:

ActiveSiteEmployeesDropDownList.DataSource = CurrentCompany
    .Employees
    .Where(e => e.IsActive && e.Location == location)
    .Select(e => new
        {
            DisplayName = String.Format("{0}, {1}", e.Surname, e.FirstName),
            EmployeeId = e.EmployeeId
        })
    .OrderBy(x => x.DisplayName);

我还为匿名对象初始化添加了一些空间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多