...
<li class="350W">
<input type="radio" name="motorpower" id="power2" class="motorpowerinput"/>
<label for="power2" class="powerlabel">Brushless DC Motor rated at 350W</label>
</li>
...
我需要获取具有最大值的Biggest ID,然后存储目标ID及其值。在上面的例子中,输出应该是(ID = 20,Value = 300)。我知道我可以使用Max,但似乎我不能使用&amp;&amp;检查两个值。
答案 0 :(得分:1)
好像你需要使用OrderBy
:
var biggestByIdAndValue = values.OrderByDescending(x => x.Id)
.ThenByDescending(x => x.Value)
.FirstOrDefault();
答案 1 :(得分:1)
根据您使用的集合类型和集合的大小,使用这样的方法可能更好:
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
var fooList = new List<Foo>
{
new Foo { Id = 20, Value = 200 },
new Foo { Id = 20, Value = 300 },
new Foo { Id = 10, Value = 100 },
new Foo { Id = 10, Value = 050 }
};
var maxId = fooList.Max(f => f.Id);
var maxValue = fooList.Where(f => f.Id == maxId).Max(f => f.Value);
Console.WriteLine("Max Id = {0}", maxId);
Console.WriteLine("Max value = {0}", maxValue);
}
public class Foo
{
public int Id { get; set; }
public int Value { get; set; }
}
}
但是@ 2kay的方法可以在任何体面大小的集合上用于演示目的。