gpt4 book ai didi

c# - 如何查询 C# 字典并返回一组特定的值

转载 作者:行者123 更新时间:2023-11-30 15:40:19 24 4
gpt4 key购买 nike

我的 C# 程序中有一个包含键 + 值列表的字典。

值是 itemid, Month, Year, Count

我想通过比较一组值(itemid, Month, Year)来查询字典,如果是特定的 itemid + Month + Year,则返回 true 或 false > 存在。

因此,如果所有 3 个值 (itemid + Month + Year) 都存在,则返回 true,否则返回 false。

我试过这样的

(if (myd.Select(d => d.Value.itemid == item.itemid && d.Value.Month == DateRange.Month  && d.Value.Year == DateRange.Year).ToString() != "")

上述方法无效。

最佳答案

您似乎误解了 Select() 方法的用法。选择创建一个“投影”;给定元素的输入集合(可枚举),它会产生基数相等的输出可枚举,但由元素组成,每个元素都是输入的相应元素的转换结果。

您需要的是一个 Where() 方法(返回一个列表,该列表的基数小于或等于输入的输入元素,其中 bool 条件为真),或者 Any() 方法(如果输入中的任何元素满足条件,则返回单个“真”或“假”):

if(myd.Where(d => d.Value.itemid == item.itemid 
&& d.Value.Month == DateRange.Month
&& d.Value.Year == DateRange.Year).Count() >= 1)
...

//produces the equivalent result but generally performs faster
if(myd.Any(d => d.Value.itemid == item.itemid
&& d.Value.Month == DateRange.Month
&& d.Value.Year == DateRange.Year))
...

关于c# - 如何查询 C# 字典并返回一组特定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385500/

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