c# – 如何对字典执行LINQ查询?

c# – 如何对字典执行LINQ查询?,第1张

概述我有字典,其中包含ID作为字符串,城市名称也作为字符串. 我想通过它的名字和返回ID找到城市.有我的代码: public string GetIdByCityName(string name){ if (Cities.ContainsValue(name)) { return Cities .Select(x => x) 我有字典,其中包含ID作为字符串,城市名称也作为字符串.
我想通过它的名字和返回ID找到城市.有我的代码:

public string GetIDByCityname(string name){    if (CitIEs.ContainsValue(name))    {        return CitIEs            .Select(x => x)            .Where(v => v.Value == name)            .Select(k => k.Key)            .ToString();    }    else    {        return string.Empty;    }}

城市当然是我的字典.我有一个问题,因为这段代码不起作用.我试图使用调试器,我发现从方法返回的值:

System.linq.Enumerable+WhereSelectEnumerableIterator
2[System.Collections.Generic.keyvaluePair
2[System.String,System.String],System.Boolean]

@H_419_23@

我究竟做错了什么?

解决方法 您会看到此结果,因为.Select(k => k.Key)是一个liNQ查询,其类型为WhereSelectEnumerableIterator.它不是一个字符串.将ToString()应用于查询类型时,您会看到该类型的名称.

您可以选择与给定名称匹配的第一个条目:

return CitIEs.Where(kvp => kvp.Value == name).Select(kvp => kvp.Key).FirstOrDefault();

注意:几个城市可以有相同的名称.你也不需要这样做.选择(x => x),因为它的项目是自我输入.

总结

以上是内存溢出为你收集整理的c# – 如何对字典执行LINQ查询?全部内容,希望文章能够帮你解决c# – 如何对字典执行LINQ查询?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存