gpt4 book ai didi

c# List> 添加唯一字典

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:46 24 4
gpt4 key购买 nike

我有一个字典列表:

List<Dictionary<string, string>> items = new List<Dictionary<string, string>>();

foreach (var group in groupedItems)
{

foreach (var item in group)
{
Dictionary<string, string> newItem = new Dictionary<string, string>();
newItem.Add("name", item.Name);
newItem.Add("value", item.Value);
}
}

items.Add(newItem);

基本上,当我循环遍历分组的项目时,我会创建一个字典,其中键是 item.Name,值是 item.Value。在分组的情况下,这将导致列表中出现重复的词典。

如何避免向该列表中添加重复的词典?

我有一个 foreach 循环,我想一次添加一些项目。

最佳答案

首先想到的是创建自己的类 extends Dictionary<string, string>并实现你自己的 GetHashCode() 版本和 Equals :

public class MyDictionary : Dictionary<string, string>
{
public override int GetHashCode()
{
...
}

public override bool Equals(object source)
{
...
}
}

Equals内你实现你的平等机制,并在GetHashCode你实现了一种机制,根据你的平等标准,为两个相同的字典产生相同的数值。

然后,而不是 List<Dictionary<string, string>> , 你使用 HashSet<MyDictionary> .由于集合不允许重复,因此您最终应该得到一组唯一的字典集合。

关于c# List<Dictionary<string,string>> 添加唯一字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31604767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com