gpt4 book ai didi

c# - 使用 LINQ 的 FirstOrDefault 检查 KeyValuePair 是否存在

转载 作者:IT王子 更新时间:2023-10-29 03:41:32 25 4
gpt4 key购买 nike

我有一个类型的字典

Dictionary<Guid,int>

我想使用

返回满足条件的第一个实例
var available = m_AvailableDict.FirstOrDefault(p => p.Value == 0)

但是,如何检查我是否真的取回了 KeyValuePair?在没有编译器错误的情况下,我似乎无法使用 != 或 == 来检查 default(KeyValuePair)。有一个类似的线程here这似乎没有解决方案。我实际上能够通过获取 key 并检查 Guid 的默认值来解决我的特定问题,但我很好奇是否有使用键值对执行此操作的好方法。谢谢

最佳答案

如果你只关心存在,你可以使用 ContainsValue(0)Any(p => p.Value == 0)反而?按 搜索对于 Dictionary<,> 是不寻常的;如果您要按键搜索,则可以使用 TryGetValue .

另一种方法:

var record = data.Where(p => p.Value == 1)
.Select(p => new { Key = p.Key, Value = p.Value })
.FirstOrDefault();

这会返回一个 - 所以会是null如果没有找到。

关于c# - 使用 LINQ 的 FirstOrDefault 检查 KeyValuePair 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793897/

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