我正在尝试迭代List集合中对象的DateTime属性...
实施例。列出名称及其下面所有课程的树视图可以正常工作:
// Sorting on name with the courses beneath it:
// *list* is a List<ClsStandholder>;
private void ShowNameWithCourses()
{
treeViewList.Nodes.Clear();
for (int i=0; i < list.Count; i++) {
treeViewList.Nodes.Add(list[i].name);
for (int j=0; j < list[i].courses.Count; j++) {
treeViewList.Nodes[i].Nodes.Add(list[i].courses[j]);
}
treeviewList.ExpandAll();
}
}
这很有效...我遇到麻烦的是试图按日期排序并重复计算日期。
for (int j=0; j < list[i].SubscriptionDate. // how do i put some sort of count for this?
似乎没有任何属性可以循环输入所有日期。
答案 0 :(得分:1)
您需要拥有一组日期才能使用Count
。您说该列表确实是List<ClsStandholder>
,并且您的内部课程是集合,但SubscriptionDate
是一个DateTime
属性。如何将它声明为一个集合(就像你为courses
集合所做的那样):
public IList<DateTime> SubscriptionDates { get; set; }
答案 1 :(得分:0)
这两种方法看起来完全不同。可能clsStandholder
内的所有list
都具有相同的SubscriptionDate
。
我建议制作一个......
Dictionary<DateTime,List<ClsStandholder>>;
..然后遍历列表中的每个项目并将其添加到字典中的相应列表中。然后你可以遍历日期......
答案 2 :(得分:0)
Tonz问题是,您的list
变量是集合,SubscriptionDate
是列表中每个项目的单个属性值。由于每个项目的属性都存在一次,因此没有Count
。
你可以循环遍历这些项目,并构建一个SubscriptionDates
的集合并迭代它们......