如果我执行以下操作:
var maxValue = dataTable.Compute("Max(columnName)");
然后,假定maxValue的类型将为dataTable中“ columnName”列的数据类型(否则为??)。但是,Max表达式使用什么比较器,并且支持哪些数据类型?如果无法比较该列中的值,那么将无法评估最大值,并且可能会引发异常。确保列数据类型实现IComparable是否足够,因此:
if (typeof(IComparable).IsAssignableFrom(dataTable.Columns[columnName].DataType))