首页新闻找找看学习计划

关于C# Dictionary<int, int[]>();查找问题

0
悬赏园豆:20 [已解决问题] 解决于 2016-09-03 13:39

代码段所示,求高手指点,如何用高效的方法找到指定字符所在数组对应的key,比如指定字符“北京”则返回0;指定字符”天涯“则返回1......

var Fz = new Dictionary<int, string[]>();
Fz[0] = new string[] {“北京”, “上海”, “南京”, "广州“};
Fz[1] = new string[] {“天涯”, “无尽”, “芳华”, "梦“};
Fz[2] = new string[] {“金钱”, “爱情”, “友情”};

 

梦天涯的主页 梦天涯 | 初学一级 | 园豆:103
提问于:2016-09-02 22:58
< >
分享
最佳答案
0

var d=Fz.Where(p => p.Value.Count(c => c == "天涯") > 0).Select(p => p.Key).FirstOrDefault();

收获园豆:15
Yu | 专家六级 |园豆:12944 | 2016-09-03 09:30
其他回答(3)
0

这个不难吧?

悦光阴 | 园豆:2239 (老鸟四级) | 2016-09-02 23:35
0

那你这个Dictionary弄反了

你应该建立这样建

var Fz = new Dictionary<string,int>();

Fz[“北京”] = 0;
Fz[“上海”] = 0;

...

刘宏玺 | 园豆:14004 (专家六级) | 2016-09-02 23:56
0

var kv=Fz.Select(p => p.Value.Select(x =>new { index=p.Key,name=x})).SelectMany(p=>p).ToDictionary(p=>p.name,p=>p.index);

kv.getvalue("爱情")

闲的无聊

收获园豆:5
czd890 | 园豆:8650 (大侠五级) | 2016-09-03 00:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册