C#如何通过Key键获取Dictionary集合内的Value?

 我来答
老鲁漫漫说
高粉答主

2018-01-22 · 醉心答题,欢迎关注
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:4.8万
展开全部

var dic = new Dictionary<string, int>() { {"a",1}, {"b",2}, {"c",3}, {"d",1} }; foreach (var item in dic) { if (item.Value == 1) { Console.WriteLine(item.Key); } }

1.最直白的循环遍历方法,可以分为遍历key--value键值对以及所有的key两种表现形式

2.用Linq的方式去查询(当然了这里要添加对应的命名空间 using System.Linq)

如下为一个十分简单的代码示例:

private void GetDicKeyByValue()

{

Dictionary<string, string> dic = new Dictionary<string, string>();

dic.Add("1", "1");

dic.Add("2", "2");

dic.Add("3", "2");

//foreach KeyValuePair traversing

foreach (KeyValuePair<string, string> kvp in dic)

{

if (kvp.Value.Equals("2"))

//...... kvp.Key;

}

}

//foreach dic.Keys

foreach (string key in dic.Keys)

{

if (dic[key].Equals("2"))

//...... key

}

}

//Linq

var keys = dic.Where(q => q.Value == "2").Select(q => q.Key);  //get all keys

List<string> keyList = (from q in dic

where q.Value == "2"

select q.Key).ToList<string>(); //get all keys

var firstKey = dic.FirstOrDefault(q => q.Value == "2").Key;  //get first key

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式