C# 使用foreach枚举内部字典
我有一本字典,但我似乎不知道如何在内部字典中进行foreach循环C# 使用foreach枚举内部字典,c#,dictionary,C#,Dictionary,我有一本字典,但我似乎不知道如何在内部字典中进行foreach循环 var users = myDic.Select(kvp => kvp.Value).SelectMany(dic => dic.Values); foreach(User user in users) { ... } 我的收藏: Dictionary<int, Dictionary<int, User>> foreach(myDic中的KeyValuePair用户){ foreac
var users = myDic.Select(kvp => kvp.Value).SelectMany(dic => dic.Values);
foreach(User user in users)
{
...
}
我的收藏:
Dictionary<int, Dictionary<int, User>>
foreach(myDic中的KeyValuePair用户){
foreach(users.Value中的KeyValuePair用户){
...
}
}
//给定:字典myDic
foreach(myDic中的KeyValuePair kvp){
foreach(kvp.Value中的键值对kvpUser){
用户u=kvpUser.Value;
}
}
嵌套的foreach
foreach (var keyValue in myDic){
foreach (var user in keyValue.Value){
....
}
}
或是一点灵气
foreach (User User in myDic.SelectMany(i => i.Value).Select(kv=>kv.Value))
{
}
按用户名排序
foreach (User User in myDic.SelectMany(i => i.Value)
.Select(kv=>kv.Value)
.OrderBy(u=>u.UserName))
{
}
你在找这个吗
var myDic = new Dictionary<int, Dictionary<int, string>>();
foreach(var item in myDic)
foreach (var subItem in item.Value)
{
Display(
subItem.Key, // int
subItem.Value); // User
}
var myDic=newdictionary();
foreach(myDic中的var项目)
foreach(item.Value中的var子项)
{
展示(
subItem.Key,//int
subItem.Value);//用户
}
是你问题的字面答案;尽管我通常建议使用
TryGet
方法,除非你确定someKey
在你的字典的Keys集合中。但是你到底想做什么呢?循环遍历所有字典中的所有元素?myDic[someKey]已返回Dictionary类型的值。我想你应该去掉“[someKey]”。使用myDic[someKey]。值可能会更干净。对我的User.Username进行排序如何?选择多个项目将序列中的每个元素转换为一个IEnumerable,并将结果序列展平为一个序列。然后我们从每个keyValuePair(恰好是用户)中选择值
var users = myDic.Select(kvp => kvp.Value).SelectMany(dic => dic.Values);
foreach(User user in users)
{
...
}
var myDic = new Dictionary<int, Dictionary<int, string>>();
foreach(var item in myDic)
foreach (var subItem in item.Value)
{
Display(
subItem.Key, // int
subItem.Value); // User
}
foreach(User user in myDic[someKey].Values)
var users = myDic.Select(kvp => kvp.Value).SelectMany(dic => dic.Values);
foreach(User user in users)
{
...
}