2016-10-11 120 views
0

enter image description here我有Class属性StringList<String>。我想将此List<Class>转换为Dictionary<String, List<String>>,但我无法做到这一点。如何直接转换List<Class>Dictionary?如何将List <Class>转换成C#中的Dictionary <string,List <String>>?

public class SerializationClass 
{ 
    string key; 
    List<string> values; 

    public SerializationClass() 
    { 

    } 
    public string Key 
    { 
     get 
     { 
      return this.key; 
     } 
     set 
     { 
      this.key = value; 
     } 
    } 

    public List<string> Values 
    { 
     get 
     { 
      return this.values; 
     } 
     set 
     { 
      this.values = value; 
     } 
    } 

    public SerializationClass(string _key, List<string> _values) 
    { 
     this.Key = _key; 
     this.Values = _values; 
    } 
} 

和列表的人口,

List<SerializationClass> tempCollection = new List<SerializationClass>(); 

在这里,我要转换为转换tempCollectionDictionary

Dictionary<string, List<string>> tempDict = new Dictionary<string, List<string>>(tempCollection.Count); 

tempCollection有转换为tempDict?

欣赏您的回复。

谢谢,并问候,

阿迈勒拉杰。

+1

你尝试过什么什么会失败?.. –

回答

5

只需拨打的Linq对IEnumerable<T>ToDictionary扩展方法,唯一的条件是key每个元素必须是唯一的,否则因为Dictionary想要一个独特的密钥

var tempDict = tempCollection.ToDictionary(x => x.key, x => x.values); 
+0

谢谢。我必须添加任何dll参考。因为我已经尝试过ToDictionary(),但我无法使用它。 – Amal

+0

使用System.Linq,dll和命名空间 –

+0

附加是错误弹出。 @mrinal – Amal

相关问题