GroupBy ऑपरेटर है कि। क्या आप LINQ से ऑब्जेक्ट्स का उपयोग कर रहे हैं? आप आराम से अपने आप का प्रबंधन कर सकते हैं -
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
static void Main()
{
var users = new[]
{
new { User="Bob", Hobby="Football" },
new { User="Bob", Hobby="Golf" },
new { User="Bob", Hobby="Tennis" },
new { User="Sue", Hobby="Sleeping" },
new { User="Sue", Hobby="Drinking" },
};
var groupedUsers = users.GroupBy(user => user.User);
foreach (var group in groupedUsers)
{
Console.WriteLine("{0}: ", group.Key);
foreach (var entry in group)
{
Console.WriteLine(" {0}", entry.Hobby);
}
}
}
}
कि समूह करता है:
यहाँ एक उदाहरण है? आपके प्रश्न के _concat
पहलू फिर
List<User> users = new List<User>()
{
new User {Name = "Bob", Hobby = "Football" },
new User {Name = "Bob", Hobby = "Golf"},
new User {Name = "Bob", Hobby = "Tennis"},
new User {Name = "Sue", Hobby = "Sleeping"},
new User {Name = "Sue", Hobby = "Drinking"}
};
var groupedUsers = from u in users
group u by u.Name into g
select new
{
Name = g.First<User>().Name,
Hobby = g.Select(u => u.Hobby)
};
foreach (var user in groupedUsers)
{
Console.WriteLine("Name: {0}", user.Name);
foreach (var hobby in user.Hobby)
{
Console.WriteLine("Hobby: {0}", hobby);
}
}
स्रोत
2009-03-05 12:30:57
यह भी साथ भीतरी पाश को बदलने के लिए संभव है 'String.Join (", ", group.ToArray())', जब तक तत्वों की संख्या बहुत बड़ी नहीं है। –
धन्यवाद! मैं लगातार आपको लगातार बग करने के बजाय LINQ सीखने जा रहा हूं ;-) –
क्या मैं अकेला हूं जिसने देखा कि आदमी खेल में है जबकि महिला के शौक सो रहे हैं और पी रहे हैं? आप जॉन स्कीट भयानक हैं! – Carter