之前你忽略/票到接近这个问题,我认为这是一个有效要问的问题,因为代码清晰是一个重要的讨论话题,这是必须编写维护的代码和我非常感谢那些曾经遇到过这个问题的人的回答。最佳方式查询
我最近遇到这个问题,因为大量的嵌套,LINQ查询可以非常快速地实现。
下面是我想出来的(对于相同的相对不复杂的查询)
无格式
var allInventory = system.InventorySources.Select(src => new { Inventory = src.Value.GetInventory(product.OriginalProductId, true), Region = src.Value.Region }).GroupBy(i => i.Region, i => i.Inventory);
高架格式
在格式化的差别一些例子var allInventory = system.InventorySources
.Select(src =>
new {
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region })
.GroupBy(
i => i.Region,
i => i.Inventory);
块格式
var allInventory = system.InventorySources
.Select(
src => new
{
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region
})
.GroupBy(
i => i.Region,
i => i.Inventory
);
列表格式
var allInventory = system.InventorySources
.Select(src => new { Inventory = src.Value.GetInventory(product.OriginalProductId, true), Region = src.Value.Region })
.GroupBy(i => i.Region, i => i.Inventory);
我要拿出对LINQ的格式标准,使其最大限度地提高可读性&理解和看起来干净和专业。到目前为止,我无法做出决定,所以我把问题转给这里的专业人士。
看看ReSharper和CodeRush。它们都为LINQ语句和查询解析提供自动格式。我发现他们在制作可读,易理解的格式方面做得很好。 – LBushkin 2010-05-27 20:09:06
我使用resharper,它往往是完全不一致的linq格式添加全面的缩进缩进。 – Aren 2010-05-27 20:13:00
为什么不使用linq语法suger:(来自sInitRegistrationSources group by iRegion,i.Inventory select new {Inventory = src.Value.GetInventory(product.OriginalProductID,true),Region = src.Value.Region }); ? – TcKs 2010-05-27 20:27:13