在VB.NET中使用LINQ查询返回最大值?

在VB.NET中使用LINQ查询返回最大值?,vb.net,linq,linq-to-objects,Vb.net,Linq,Linq To Objects,我有一个方法,它将id、开始日期和结束日期作为参数。它将返回与日期范围之间的一周中的某一天对应的数据行。这些排都是双排的。将其返回到DataTable后,我需要能够在VB.NET中使用LINQ返回最大值。我怎样才能做到这一点?这是初始设置 Dim dt as DataTable = GetMaximumValue(1,"10/23/2011","11/23"/2011") 'Do linq query here to return the maximum value 另一种选择是只返回一个给

我有一个方法,它将id、开始日期和结束日期作为参数。它将返回与日期范围之间的一周中的某一天对应的数据行。这些排都是双排的。将其返回到DataTable后,我需要能够在VB.NET中使用LINQ返回最大值。我怎样才能做到这一点?这是初始设置

Dim dt as DataTable = GetMaximumValue(1,"10/23/2011","11/23"/2011")

'Do linq query here to return the maximum value
另一种选择是只返回一个给定id的最大值,这将稍微容易实现,因此该方法如下所示:

Dim dt as DataTable = GetMaximumValue(1)

'Do linq query here to return maximum value
重要

如果我想查询DataRow而不是DataTable,并且列名不相同,它们类似于
MaxForMon
MaxForTue
,MaxForWed`,等等,该怎么办。。。我需要取最大值(无论是MaxForMon、MaxForTue还是其他列)。是否可以选择将存储过程中返回的列作为别名?我考虑的另一件事是,我不应该在LINQ中执行此操作,而应该在T-SQL中处理它。

您可以使用查询数据表

下面的查询应该会有所帮助

Dim query = _
    From value In dt.AsEnumerable() _
    Select value(Of Double)("ColumnName").Max();
如果您现在不知道,您可以使用的最大值在哪一列:(C#)


我会试试这个。如果我改为针对DataRow查询什么,而不是DataTable的替代项呢?
var result = from r in table.AsEnumerable()
             select r.ItemArray.Max();