我有一个具有时间戳的数据对象:
class MyDataObject
{
public DateTime timestamp { get; set; }
public int value { get; set; }
public MyDataObject(DateTime timestamp, int value)
{
this.timestamp = timestamp;
this.value = value;
}
}
在主要方法中,我在 18 天(2.5 周)的时间跨度内创建了很多这些数据对象:
static void Main(string[] args)
{
List<MyDataObject> data = new List<MyDataObject>();
data.Add(new MyDataObject(DateTime.Now, 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(2), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(4), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(6), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(8), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(10), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(12), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(14), 1));
data.Add(new MyDataObject(DateTime.Now.AddDays(18), 1));
}
我需要将这些数据按周划分,以便将第 1 天到第 6 天之间的数据放在一个数组中,将第 8 天到第 14 天之间的数据放在另一个数组中,而第 18 天的数据单独放在另一个数组中。
我需要创建某种二维列表,并以某种方式将数据划分为“数组数组”,但我很难过。我怀疑我需要使用 List.FindAll 但我以前从未使用过它,也不知道在这种情况下如何使用它。