Tôi có hai lớp này trong mã của tôi và Danh sách Class2. Tôi muốn nhóm các phần tử danh sách theo date
và ID
bằng LINQ.Cần trợ giúp trong việc nhóm bằng LINQ trong C#
public class Class1
{
public string ID;
public int y;
public int z;
}
public class Class2
{
public List<Class1> a;
public int p, q;
public string s;
public DateTime date;
}
danh sách của tôi là tương tự như sau:
List<Class2> object1 = new List<Class2>
{
new Class2 {p = 5, q = 6, date = DateTime.Now, a = new List<Class1> { new Class1 { ID = "3643746HDJ", y = 0, z = 9 }, new Class1 { ID = "746327846HDJ", y = 0, z = 9 } } },
new Class2 {p = 5, q = 6, date = DateTime.Now.AddDays(1), a = new List<Class1> { new Class1 { ID = "3643746HDJ", y = 0, z = 9 }, new Class1 { ID = "746327846HDJ", y = 0, z = 9 } } },
new Class2 {p = 5, q = 6, date = DateTime.Now.AddDays(2), a = new List<Class1> { new Class1 { ID = "3643746HDJ", y = 0, z = 9 }, new Class1 { ID = "746327846HDJ", y = 0, z = 9 } } },
new Class2 {p = 5, q = 6, date = DateTime.Now.AddDays(3), a = new List<Class1> { new Class1 { ID = "3643746HDJ", y = 0, z = 9 }, new Class1 { ID = "746327846HDJ", y = 0, z = 9 } } },
};
Xin lỗi nếu điều này là một câu hỏi ngu ngốc, nhưng tôi là một người mới bắt đầu trong lập trình C# và LINQ và tôi không chắc chắn nếu điều này thậm chí còn có thể.
Đây là những gì tôi đã cố gắng dựa trên ví dụ tôi thấy trên web, nhưng nó không đúng
var newList = from item in object1
group new
{
item.s,
item.a[0].x, //I think its wrong because of this
item.a[0].y //and this
}
by new
{
item.date,
item.a[0].ID //and this
}
into temp
select temp;
Kể từ khi tôi đã hardcoded chỉ số 0 trong nhóm tôi đang thiếu rất nhiều yếu tố trong danh sách cuối cùng của tôi. Làm cách nào để tôi thực hiện việc này cho tất cả các thành phần trong danh sách a
trong Class2
?
sản lượng dự kiến là tương tự như sau:
Key: {date: 19-09-2017 ID: 3643746HDJ}, Element: {{s: "abc", y = 1, z = 2}, {s: "pqr", y = 2, z = 4}, {s: "abc", y = 1, z = 2}}
Key: {date: 20-09-2017 ID: 3643746HDJ}, Element: {{s: "pop", y = 1, z = 2}, {s: "dfr", y = 2, z = 4}, {s: "abc", y = 1, z = 2}}
Key: {date: 19-09-2017 ID: 746327846HDJ}, Element: {{s: "abc", y = 7, z = 8}, {s: "asar", y = 2, z = 111}, {s: "abc", y = 1, z = 2}}
Key: {date: 20-09-2017 ID: 746327846HDJ}, Element: {{s: "abc", y = 7, z = 8}, {s: "asar", y = 2, z = 111}, {s: "abc", y = 1, z = 2}}
Lớp học của bạn có thực sự trông như thế không? Giống như bạn đang sử dụng các trường công cộng thay vì các thuộc tính? – maccettura
Bạn có thể hiển thị kết quả mong đợi không? – Fabio
Yếu tố 'Danh sách' nào? Làm thế nào để bạn mong đợi để nhóm bằng 'ID' khi bạn có nhiều' ID 'trong' Danh sách a'? –
NetMage