8,497
社区成员
发帖
与我相关
我的任务
分享
var dataTable = GetDT().Select("isnull(a,'')<>''").CopyToDataTable();
var q = dataTable.AsEnumerable().Where(t => t.Field<double?>("a") != null).Select(t => t.Field<double?>("a")).Max();
static void Main(string[] args)
{
var dataTable = GetDT();
var q = dataTable.AsEnumerable().Where(t => t.Field<double?>("a") != null).Select(t => t.Field<double?>("a")).Max();
Console.ReadLine();
}
public static DataTable GetDT()
{
DataTable data = new DataTable();
data.Columns.Add("a",typeof(double));
for (int i = 0; i < 5; i++)
{
DataRow dr = data.NewRow();
if (i % 2 == 0)
{
//这里如果你填充的是 Null,那么 Main方法中 t.Field<double?>("a") 会将 空字符串"" 尝试转换成double,而不是Null转换double? 所以会报错
dr[0] = DBNull.Value;
}
else
{
dr[0] = i;
}
data.Rows.Add(dr);
}
return data;
}