use*_*192 5 c# linq silverlight
我有一个返回隐式类型的LINQ语句.我需要在Silverlight 3应用程序中将此类型设置为ObservableCollection.Silverlight 3中的ObservableCollection构造函数仅提供空构造函数.因此,我无法直接将结果转换为ObservableCollection.这是我的代码:
ObservableCollection<MyTasks> visibleTasks = e.Result;
var filteredResults = from visibleTask in visibleTasks
select visibleTask;
filteredResults = filteredResults.Where(p => p.DueDate == DateTime.Today);
visibleTasks = filteredResults.ToList(); // This throws a compile time error
Run Code Online (Sandbox Code Playgroud)
如何从隐式类型变量转到可观察集合?
谢谢
您可以手动添加项目,如下所示:
visibleTasks = new ObservableCollection<MyTasks>();
foreach(var item in filteredResults)
visibleTasks.Add(item);
Run Code Online (Sandbox Code Playgroud)
您可以使用以下扩展方法在一行中执行此操作:
///<summary>Adds zero or more items to a collection.</summary>
public static void AddRange<TItem, TElement>(this ICollection<TElement> collection, IEnumerable<TItem> items)
where TItem : TElement {
if (collection == null) throw new ArgumentNullException("collection");
if (items == null) throw new ArgumentNullException("items");
foreach (var item in items)
collection.Add(item);
}
Run Code Online (Sandbox Code Playgroud)
visibleTasks = new ObservableCollection<MyTasks>();
visibleTasks.AddRange(filteredResults);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6997 次 |
| 最近记录: |