double MaxSales = 0;
MaxSales = dgvSales.Rows.Cast<DataGridViewRow>()
.Where(z => z.Cells["Jaar"].Value.ToString() == lblSelectedJaar.Text)
.Where(o => o.Cells["vHigh"].Value != DBNull.Value)
.Where(oo => oo.Cells["VLow"].Value != DBNull.Value)
.Max(s => Convert.ToDouble(s.Cells["VLow"].Value) + Convert.ToDouble(s.Cells["vHigh"].Value));
如果其中一列上有一个空单元格,那么它将不会返回最大值。
我理解您想将DBNull.Value
视为0:
double MaxSales = dgvSales.Rows.Cast<DataGridViewRow>()
.Where(z => z.Cells["Jaar"].Value.ToString() == lblSelectedJaar.Text)
.Select(o => (o.Cells["vHigh"].Value == DBNull.Value ? 0 : Convert.ToDouble(s.Cells["vHigh"]))
+ (o.Cells["VLow"].Value == DBNull.Value ? 0 : Convert.ToDouble(s.Cells["VLow"])))
.Max();