0

double型のリストから最大値と最小値を取得する次のコードがあります

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()

最初の行で、「DBNull.Value を 'System.Double' 型にキャストできません。null 許容型を使用してください。」という例外が発生します。これを回避したり、DBNulls をリストに追加しないようにするにはどうすればよいですか?

4

1 に答える 1

2

1 つの方法は、次のように表現できるnullable を使用することです。DoubleDouble?

Dim sprices As List(Of Double?) = grp.ProductGroups.AsEnumerable().[Select](Function(sm) sm.Field(Of Double?)("sprice")).Distinct().ToList()
于 2012-09-19T02:32:52.627 に答える