代码段所示,求高手指点,如何用高效的方法找到指定字符所在数组对应的key,比如指定字符“北京”则返回0;指定字符”天涯“则返回1......
var Fz = new Dictionary<int, string[]>(); Fz[0] = new string[] {“北京”, “上海”, “南京”, "广州“}; Fz[1] = new string[] {“天涯”, “无尽”, “芳华”, "梦“}; Fz[2] = new string[] {“金钱”, “爱情”, “友情”};
var d=Fz.Where(p => p.Value.Count(c => c == "天涯") > 0).Select(p => p.Key).FirstOrDefault();
这个不难吧?
那你这个Dictionary弄反了
你应该建立这样建
var Fz = new Dictionary<string,int>();
Fz[“北京”] = 0;
Fz[“上海”] = 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("爱情")
闲的无聊