首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于最大值查找的一些有关问题

2012-10-10 
关于最大值查找的一些问题我想通过查找出一个类中,金额最大的一个对象,并将其显示出来,如代码C# codepubli

关于最大值查找的一些问题
我想通过查找出一个类中,金额最大的一个对象,并将其显示出来,如代码

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);                     } 

热点排行