gpt4 book ai didi

类型 Dictionary 不支持 C# 比较运算符

转载 作者:行者123 更新时间:2023-11-30 15:43:09 25 4
gpt4 key购买 nike

我有一本字典,我想为字典中的关键字段获取匹配的数据库条目。所以下面的代码获取所有数据库字段等于 dictionary.keys 中的数据。到目前为止,一切都很好。现在,当我循环它并尝试从与键 x 匹配的字段中获取字段时,它失败并出现异常:

{“'System.Collections.Generic.Dictionary`2+KeyCollection[System.String,System.String]'类型不支持比较运算符”}

var fields = _dc.fieldInfos.Where(x => x.name.Equals(param.MethodData.Keys));
foreach (var entry in param.MethodData)
{
KeyValuePair<string, string> entry1 = entry;
var field = fields.SingleOrDefault(x => x.name.Equals(entry1.Key));
if (field == null)
....
}

失败的行是这样的:

var field = fields.SingleOrDefault(x => x.name.Equals(entry1.Key));

有什么想法吗?

最佳答案

请注意 _dc.fieldInfos.Where(x => x.name.Equals(param.MethodData.Keys)) (第 1 行)实际上不会执行,直到您尝试遍历 fields (第 5 行)。

那时,x.name.Equals(param.MethodData.Keys)失败,因为 string (x.name) 无法与 KeyCollection<string> 进行比较(param.MethodData.Keys).

本质上,由于延迟执行,您会在意外行上遇到异常。

关于类型 Dictionary<string,string> 不支持 C# 比较运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6955071/

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