我目前正在编写一个程序,其中包含有关锻炼的数据。变量是
运动 - 例外)卧推
日期 - 例如)2013年12月8日
Reps - Ex)10
体重 - 例)135
设定重量 - Ex)3
休息时间 - 例如)120(以秒为单位)
日期体重 - 例)200
我正在从CSV文件导入。我已经对数据进行了解析并将其设置为一个类似于
的类 Public Class WorkoutInformation
{
public string Exercise{get;set;}
public List<DateTime> date;
public List<dynamic> sets {get;set;}
public List<dynamic> reps {get; set;}
public List<dynamic> weight {get;set;}
public List<dynamic> restTime {get; set;}
public List<dynamic> bodyWeight {get;set;}
}
所以这是我的问题。我发现,当我绘制这些时,日期没有被排序,我希望先显示早期的日子。所以我一直在整理List<WorkoutInformation>
。但我发现这使我很容易失去哪些日期与权重,代表或其他信息。那么我的问题是如何创建一个类,我可以访问列表Ex)MyList.date[i]
之类的信息但是当我更改MyList.date[i]
的索引时,所有其他信息都被适当地索引了?
答案 0 :(得分:1)
更好的设计可能是创建一个为您保存一个数据会话的类:
public class WorkOutSession
{
public string Exercise { get; set; }
public DateTime Date { get; set; }
public int Sets { get; set; }
public int Reps { get; set; }
public int Weight { get; set; }
public int RestTime { get; set; }
public int BodyWeight { get; set; }
}
public class WorkOutInformation
{
public List<WorkOutSession> Sessions { get; set; }
}
使用该设计,您可以按日期对会话列表进行排序,并且会话的所有数据都将保持关联:
var sessionsByDate = Sessions.OrderBy(s => s.Date);