2012-09-19 55 views
0

我有以下的代碼,將得到double類型發現使用LINQ和DBNulls

Dim sprices As List(Of Double) = grp.ProductGroups.AsEnumerable().[Select](Function(sm) sm.Field(Of Double)("sprice")).Distinct().ToList() 

     Dim min As Integer = sprices.Min() 
     Dim max As Integer = sprices.Max() 

列表的最大值和最小值怎麼過的第一行我得到的例外「不能分和MAXIN列表將DBNull.Value強制轉換爲'System.Double'類型,請使用可空類型。「 我該如何避免這種情況,或者不將DBNulls添加到列表中?

回答

2

的一種方式是使用一個nullableDouble,其可以被表示爲Double?

Dim sprices As List(Of Double?) = grp.ProductGroups.AsEnumerable().[Select](Function(sm) sm.Field(Of Double?)("sprice")).Distinct().ToList()