C# List与Dictionary相互转换与高效查找

Posted s0611163

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# List与Dictionary相互转换与高效查找相关的知识,希望对你有一定的参考价值。

TestModel类定义:

public class TestModel

    public int Id get; set;
    public string Name get; set;
    public string Code get; set;

 

Dictionary与List定义:

List<TestModel> list = new List<TestModel>();
Dictionary<int, TestModel> dict = new Dictionary<int, TestModel>();

 

Dictionary转List:

dict = list.ToLookup(model => model.Id).ToDictionary(model => model.Key, model => model.First());

 

List转Dictionary

list = dict.Values.ToList();

 

高效查找:

foreach (TestModel item in list)

    if (dict.ContainsKey(item.Id))
   
        TestModel model = dict[item.Id];
   

 

以上是关于C# List与Dictionary相互转换与高效查找的主要内容,如果未能解决你的问题,请参考以下文章

C# 将 List<string> 转换为 Dictionary<string, string>

如何将 C# 中的 Dictionary <string,List<string>> 转换为带有键作为标题的 csv?

C#中dategridview数据源能否与Dictionary绑定

List与String的相互转换

C# DateTime 与时间戳相互转换

C# 对象与 JSON 字符串的相互转换