关于最大值查找的一些问题
我想通过查找出一个类中,金额最大的一个对象,并将其显示出来,如代码
- C# code
public void Test18() { Contract cont = new Contract(); List<Contract> listcont = cont.GetContractList(); decimal max = listcont.Max(e => e.ContractAmt); var items = from e in listcont where e.ContractAmt == max select e; foreach (var item in items) { Console.WriteLine("{0}:{1} 金额:{2} 时间:{3}", items.ContractNumber, items.CustomerNumber, items.ContractAmt, items.ContractDate); } }可是items中并没有ContractNumber等该对象的字段,为什么?我的方法哪里错了?有别的方法么?
求高人解答,小弟谢过各位了~
[解决办法]
你的错误在这:
foreach (var item in items)
{
Console.WriteLine("{0}:{1} 金额:{2} 时间:{3}", items.ContractNumber, items.CustomerNumber, items.ContractAmt, items.ContractDate);
}
应该是item 而不是items
[解决办法]
items-》item
[解决办法]
你的代码可以简化成这样:
- C# code
public void Test18() { Contract cont = new Contract(); List<Contract> listcont = cont.GetContractList(); var maxItem = listcont.OrderByDescending(e => e.ContractAmt).FirstOrDefalut(); Console.WriteLine("{0}:{1} 金额:{2} 时间:{3}", maxItem.ContractNumber, maxItem.CustomerNumber, maxItem.ContractAmt, maxItem.ContractDate); }