📅  最后修改于: 2023-12-03 15:24:44.421000             🧑  作者: Mango
在 C# 中,如果你需要在数据变更时通知 View 层,那么可以使用 ObservableCollection 类型来代替普通的 List。
ObservableCollection 继承自 Collection
以下我们来看一下如何将 List 类型转换为 ObservableCollection。
List<string> list = new List<string>() { "A", "B", "C" };
ObservableCollection<string> collection = new ObservableCollection<string>(list);
可见,我们只需要将 List 作为参数传递给 ObservableCollection 的构造函数即可。
ObservableCollection 并没有提供一个 AddRange 方法,但我们可以自己实现它:
public static class ObservableCollectionExtensions
{
public static void AddRange<T>(this ObservableCollection<T> collection, IEnumerable<T> items)
{
foreach (var item in items)
{
collection.Add(item);
}
}
}
然后使用 AddRange 方法:
List<string> list = new List<string>() { "A", "B", "C" };
ObservableCollection<string> collection = new ObservableCollection<string>();
collection.AddRange(list);
以上两种方法都可以将 List 类型转换为 ObservableCollection,建议使用第一种方法,代码比较简洁。