我有一本词典
Dictionary<Location2D, int> h_scores = new Dictionary<Location2D, int>();
我想选择Key // which is Location2D最小的int值.
我试过了
h_scores.Min().Key; // not working
h_scores.OrderBy(x => x.Value).Select(y=> y.Key).Min(); //error At least one object must implement IComparable.
那么如何通过最小的int值选择一个键呢?
你只需要使用Min的正确重载:
val minKey = h_scores.Min(s => s.Value).Key;
更新
没注意Min的重载返回值.你肯定找MinBy从乔恩斯基特的morelinq:
val minKey = h_scores.MinBy(s => s.Value).Key;