gpt4 book ai didi

C# - 从 KeyValuePair 列表中删除一个项目

转载 作者:太空狗 更新时间:2023-10-29 18:02:00 25 4
gpt4 key购买 nike

如何从 KeyValuePair 列表中删除一个项目?

最佳答案

如果您同时拥有键和值,则可以执行以下操作

public static void Remove<TKey,TValue>(
this List<KeyValuePair<TKey,TValue>> list,
TKey key,
TValue value) {
return list.Remove(new KeyValuePair<TKey,TValue>(key,value));
}

这是有效的,因为 KeyValuePair<TKey,TValue>不覆盖平等而是一个结构。这意味着它使用默认值相等。这只是比较字段的值以测试是否相等。所以你只需要创建一个新的 KeyValuePair<TKey,TValue>具有相同字段的实例。

编辑

回应评论者,扩展方法在这里提供什么值(value)?

理由最好在代码中看到。

list.Remove(new KeyValuePair<int,string>(key,value));
list.Remove(key,value);

同样在键或值类型是匿名类型的情况下,需要扩展方法。

EDIT2

这是一个关于如何获取 KeyValuePair 的示例,其中 2 个中的一个具有匿名类型。

var map = 
Enumerable.Range(1,10).
Select(x => new { Id = x, Value = x.ToString() }).
ToDictionary(x => x.Id);

变量映射是一个Dicitonary<TKey,TValue>其中 TValue是匿名类型。枚举映射将生成一个带有 TValue 的 KeyValuePair。是相同的匿名类型。

关于C# - 从 KeyValuePair 列表中删除一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1608653/

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