我正试图获得最大值的关键Dictionary<string, double> results.
这是我到目前为止:
double max = results.Max(kvp => kvp.Value);
return results.Where(kvp => kvp.Value == max).Select(kvp => kvp.Key).First();
Run Code Online (Sandbox Code Playgroud)
但是,由于这似乎有点低效,我想知道是否有更好的方法来做到这一点.
我正在学习LINQ,我想从以下列表中找到最便宜的产品:
List<Product> products = new List<Product> {
new Product {Name = "Kayak", Price = 275M, ID=1},
new Product {Name = "Lifejacket", Price = 48.95M, ID=2},
new Product {Name = "Soccer ball", Price = 19.50M, ID=3},
};
Run Code Online (Sandbox Code Playgroud)
我想出了以下内容,但不知何故感觉它不是最好的方法:
var cheapest = products.Find(p => p.Price == products.Min(m => m.Price));
Run Code Online (Sandbox Code Playgroud)
你能告诉我实现这个目标的正确方法吗?