2012-07-10 67 views
2

即使字典在調試時顯示正確的鍵/值對,它爲什麼不會返回正確的字符串?使用LINQ使用Lambda表達式查詢IDictionary

IDictionary<string, string> states = 
        AFS.MvcApplication.UnitedStates.StateDictionary; 

string stateAbbrev = 
       states.Where(x => x.Key == State).Select(x => x.Value).ToString(); 

回答

2

你想用FirstOrDefault代替ToString,因爲Select結果是IEnumerable<string>。這應該工作:

string stateAbbrev = states.Where(x => x.Key == State).Select(x => x.Value).FirstOrDefault(); 
+0

謝謝!!!!我正在那個車輪上旋轉...... – jallen 2012-07-10 16:59:10

3

你應該使用:

string stateAbbrev = states[State];