इससे पहले कि आप/वोट करने के लिए करीब इस सवाल पर ध्यान न दें, मैं इस एक वैध प्रश्न पर विचार पूछने के लिए क्योंकि कोड स्पष्टता चर्चा का एक महत्वपूर्ण विषय है, यह पोषणीय कोड लिखने के लिए आवश्यक है और मैं उन लोगों के उत्तरों की बहुत सराहना करता हूं जो इससे पहले आए हैं।बेस्ट तरीके प्रश्नों
मैं हाल ही में इस समस्या हुई, 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 स्वरूपण के लिए एक मानक के साथ आने के लिए चाहते हैं। अब तक मैं फैसला नहीं कर सकता इसलिए मैं यहां पेशेवरों को प्रश्न बदल देता हूं।
रीशेपर और कोडरश पर एक नज़र डालें। वे दोनों LINQ कथन और क्वेरी समझ के लिए स्वत: स्वरूपण प्रदान करते हैं। मैंने पाया है कि वे एक पठनीय, समझदार प्रारूप बनाने में एक अच्छा काम करते हैं। – LBushkin
मैं resharper का उपयोग करता हूं, यह पूरी तरह से विचित्र इंडेंटेशन जोड़कर linq स्वरूपण में बिल्कुल असंगत है। – Aren
आप linq सिंटैक्स शजर का उपयोग क्यों नहीं कर रहे हैं: (सिस्टम में src से। इन्वेंटरी स्रोत समूह iRegion, i.Inventory नया {इन्वेंटरी = src.Value.GetInventory (product.OriginalProductID, true), क्षेत्र = src.Value.Region का चयन करें }); ? – TcKs