【问题标题】:Convert a List<T> into an ObservableCollection<T>将 List<T> 转换为 ObservableCollection<T>
【发布时间】:2013-05-08 04:05:37
【问题描述】:

我有一个List&lt;T&gt;,它是从 JSON 填充的。我需要将其转换为ObservableCollection&lt;T&gt; 以将其绑定到我的GridView

有什么建议吗?

【问题讨论】:

标签: c# windows-runtime


【解决方案1】:

ObservableCollection 有一个构造函数overload 这需要 IEnumerable

int 列表示例:

ObservableCollection<int> myCollection = new ObservableCollection<int>(myList);

ObjectA 列表的另一个示例:

ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);

【讨论】:

  • 我更喜欢这个而不是创建一个扩展方法。帮助减少依赖计数。
  • 反之如何实现?
  • @ArunPrasad var myList = myCollection.toList();
【解决方案2】:

ObervableCollection 有构造函数,你可以在其中传递你的列表。 引用MSDN:

 public ObservableCollection(
      List<T> list
 )

【讨论】:

    【解决方案3】:

    Observable Collection 构造函数将采用 IList 或 IEnumerable。

    如果你发现你会经常这样做,你可以做一个简单的扩展方法:

        public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
        {
            return new ObservableCollection<T>(enumerable);
        }
    

    【讨论】:

      猜你喜欢
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2021-11-26
      • 2021-12-02
      相关资源
      最近更新 更多