使用LINQ查询具有Lambda表达式的IDictionary
为什么即使在调试时字典显示了正确的键/值对,它也不会返回正确的字符串使用LINQ查询具有Lambda表达式的IDictionary,linq,linq-to-entities,Linq,Linq To Entities,为什么即使在调试时字典显示了正确的键/值对,它也不会返回正确的字符串 IDictionary<string, string> states = AFS.MvcApplication.UnitedStates.StateDictionary; string stateAbbrev = states.Where(x => x.Key == State).Select(x => x.Value).ToSt
IDictionary<string, string> states =
AFS.MvcApplication.UnitedStates.StateDictionary;
string stateAbbrev =
states.Where(x => x.Key == State).Select(x => x.Value).ToString();
IDictionary状态=
AFS.mvcapapplication.UnitedStates.StateDictionary;
字符串stateAbbrev=
states.Where(x=>x.Key==State).Select(x=>x.Value.ToString();
您希望使用FirstOrDefault
而不是ToString
,因为Select
的结果是一个IEnumerable
。这应该起作用:
string stateAbbrev = states.Where(x => x.Key == State).Select(x => x.Value).FirstOrDefault();
你应使用:
string stateAbbrev = states[State];