【问题标题】:Copy ObservableCollection<myclass> to ObservableCollection<KeyValuePair<string,object>>将 ObservableCollection<myclass> 复制到 ObservableCollection<KeyValuePair<string,object>>
【发布时间】:2016-05-24 14:40:17
【问题描述】:

我想知道是否有人可以告诉我一个更简单的方法将我的ObservableCollection&lt;myclass&gt; 复制到ObservableCollection&lt;KeyValuePair&lt;string, object&gt;&gt;

我就是这样做的:

 KeyValueCollection=new ObservableCollection<KeyValuePair<string, object>>();

 //Collection = ObservableCollection<myclass>
 foreach (var entry in Collection)
        {
             KeyValueCollection.Add(new KeyValuePair<string, object>(entry.Name,entry));
        }

【问题讨论】:

    标签: c# observablecollection


    【解决方案1】:

    你可以像这样使用ToDictionary()

    ObservableCollection<KeyValuePair<string, object>> KeyValueCollection =
              new ObservableCollection<KeyValuePair<string, object>>(collection.ToDictionary(
                  entry => t.Name, 
                  entry => (object)entry));
    

    这会创建一个Dictionary&lt;string,object&gt;,方法是选择myclassName 属性作为键,将myclass 转换为object 作为值。

    由于Dictionary&lt;string,object&gt;IEnumerable&lt;KeyValuePair&lt;string, object&gt;&gt;,您可以将其用作ObservableCollection&lt;KeyValuePair&lt;string, object&gt;&gt; 的构造函数参数。

    【讨论】:

      猜你喜欢
      • 2013-12-16
      • 2011-04-10
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多