यहाँ नेस्टेड foreach छोरों का उपयोग कर एक उदाहरण है, मैं कैसे तुम बहुत से शायद LINQ बयान की एक एकल स्ट्रिंग में ऐसा होता है, यकीन नहीं है selectmanys का?
var transactions = new[]{
new{Category = "1", Form = "1", Title = "Trans1" },
new{Category = "1", Form = "1", Title = "Trans2" },
new{Category = "1", Form = "1", Title = "Trans3" },
new{Category = "1", Form = "2", Title = "Trans1" },
new{Category = "1", Form = "2", Title = "Trans2" },
new{Category = "1", Form = "2", Title = "Trans3" },
new{Category = "2", Form = "1", Title = "Trans1" },
new{Category = "2", Form = "1", Title = "Trans2" },
new{Category = "2", Form = "1", Title = "Trans3" },
new{Category = "1", Form = "3", Title = "Trans1" },
new{Category = "1", Form = "3", Title = "Trans2" },
new{Category = "1", Form = "3", Title = "Trans3" },
};
foreach(var byCategory in transactions.GroupBy(x => x.Category))
{
Console.WriteLine(byCategory.Key);
foreach(var byForm in byCategory.GroupBy(x => x.Form))
{
Console.WriteLine("\t" + byForm.Key);
foreach(var trans in byForm)
{
Console.WriteLine("\t\t" + trans.Title);
}
}
}
सिर्फ इसलिए कि जैसे मैं निम्नलिखित के साथ आया था मैं उत्सुक यह क्या ओर देखने लगे, आप उत्पादन कोड में यह प्रयोग नहीं करना चाहिए के रूप में यह हास्यास्पद है (अगर आप यह यह टूट जाना चाहिए की तरह एक डेटा संरचना है या Dictionary<CategoryName, FormGroup>
की तरह कुछ कुछ सार्थक प्रकार के साथ)
Dictionary<string, Dictionary<string, List<string>>> tooManyDictionaries = transactions
.GroupBy(x => x.Category)
.ToDictionary(
catGroup => catGroup.Key,
catGroup => catGroup
.GroupBy(x => x.Form)
.ToDictionary(
formGroup => formGroup.Key,
formGroup => formGroup.Select(x => x.Title).ToList()));