40
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
5
public class Program
6
{
7
public static void Main()
8
{
9
List<Order> orders = new List<Order>
10
{
11
new Order { ID = 1, CustomerID = 101, OrderDate = new DateTime(2023, 01, 15), TotalAmount = 150 },
12
new Order { ID = 2, CustomerID = 102, OrderDate = new DateTime(2023, 03, 10), TotalAmount = 250 },
13
new Order { ID = 3, CustomerID = 101, OrderDate = new DateTime(2023, 04, 05), TotalAmount = 100 },
14
new Order { ID = 4, CustomerID = 103, OrderDate = new DateTime(2023, 05, 20), TotalAmount = 200 },
15
new Order { ID = 5, CustomerID = 101, OrderDate = new DateTime(2023, 07, 25), TotalAmount = 300 },
16
new Order { ID = 6, CustomerID = 101, OrderDate = new DateTime(2023, 12, 30), TotalAmount = 450 },
17
new Order { ID = 7, CustomerID = 102, OrderDate = new DateTime(2023, 02, 17), TotalAmount = 150 }
18
};
19
20
var frequentCustomers = orders
21
.GroupBy(o => new { o.CustomerID, Year = o.OrderDate.Year })
22
.Where(g => g.Count() > 3)
23
.Select(g => new { g.Key.CustomerID, g.Key.Year })
24
.ToList();
25
26
foreach (var customer in frequentCustomers)
27
{
28
Console.WriteLine($"CustomerID: {customer.CustomerID}, Year: {customer.Year}");
29
}
30
31
}
32
}
33
34
public class Order
35
{
36
public int ID { get; set; }
37
public int CustomerID { get; set; }
38
public DateTime OrderDate { get; set; }
39
public decimal TotalAmount { get; set; }
40
}
Cached Result
--- Instances list is not in JSON ---
Name: XYZ, MyProperty: 11
--- Instances list is null ---
Name: XYZ, MyProperty: 11
--- Instances list is empty ---
Name: XYZ, MyProperty: 11
--- Instances list has an item ---
Name: ABC, MyProperty: 4
Name: XYZ, MyProperty: 11
--- Instances list is null ---
Name: XYZ, MyProperty: 11
--- Instances list is empty ---
Name: XYZ, MyProperty: 11
--- Instances list has an item ---
Name: ABC, MyProperty: 4