C# C中的可观察收集

C# C中的可观察收集,c#,.net,wpf,C#,.net,Wpf,用多个数据填充集合的最佳方式是什么 var query = (from p in obsDay where p.courseFaculty == "abellana" select p); foreach (var item in query) { facultyTime.Add( new TimePerDay() { subjTime = new ObservableCollection<TimeSpan>

用多个数据填充集合的最佳方式是什么

var query = (from p in obsDay where p.courseFaculty == "abellana" select p);

foreach (var item in query)
{
   facultyTime.Add(
      new TimePerDay() 
          { subjTime = 
              new ObservableCollection<TimeSpan> 
                  { item.courseTimeStart } 
          }
      ); 
}
availProf[randomNumber].actualTime = facultyTime;

我试过这个,但它只在我的收藏中添加了一个数据?我做错了什么?

您应该从LinqPad运行查询,以确保您的数据确实符合您的期望。foreach循环很好,查询只返回一个结果,这使它成为一个数据问题。

实际时间设置为facultyTime。这是不断增加的?我猜它可能是Add方法中的某个东西,或者是actualTime属性setter中的某个东西,如果它确实是一个集合的话,那么它不会遍历整个facultyTime集合。弄清这些对象是什么将有助于确定问题。

您的查询对象可能只包含1项。尝试使用调试器单步执行查询。

您的查询没有用处。它只向哪个集合添加一个查询?Slaks的意思是,你只需要在一天内为每个人添加一个数据,它只会在学院时间集合中添加一个数据,假设在那里,应该有一个教授和x daysmon fri,以及每天的时间。只有一个查询,这是它接收到的第一个数据。“facultyTime”是什么类型的?我想是约会时间了。