C# 运算符“>”不能应用于“object”和“string”类型的操作数 我想在massbox的[id]字段中显示最大值

C# 运算符“>”不能应用于“object”和“string”类型的操作数 我想在massbox的[id]字段中显示最大值,c#,C#,如果id是数字类型,您可以尝试: 或者使用LINQ扩展: int max = amDataSet.students.Rows.Cast<DatRow>().Max(r => Convert.ToInt32(r["id"])); 你想要达到的目标是很难理解的。如果要将字符串与未知对象进行比较,那么最大值是什么意思?您希望[id]是什么?我有一个名为id data type it int的字段我想显示消息框中的最大数字@Federico Dipuma是dataset@Federi

如果id是数字类型,您可以尝试:

或者使用LINQ扩展:

int max = amDataSet.students.Rows.Cast<DatRow>().Max(r => Convert.ToInt32(r["id"]));

你想要达到的目标是很难理解的。如果要将字符串与未知对象进行比较,那么最大值是什么意思?您希望[id]是什么?我有一个名为id data type it int的字段我想显示消息框中的最大数字@Federico Dipuma是dataset@Federico中的数据行指针Dipuma@AhmedKareem你知道它是一个int,但编译器不知道。您需要对其进行强制转换,例如inta[id]。此外,int>string没有任何意义,因此不清楚您在这里真正想要实现什么。认为14比“你好”更大吗?这是一个int>string comparisonMr@Luke Briggs有没有其他方法可以获取该字段中的最大值?我可以将string或object转换为int吗?非常感谢@Slai解决了这个问题
int max = Convert.ToInt32( amDataSet.students.Compute("max(id)", "") );
int max = amDataSet.students.Rows.Cast<DatRow>().Max(r => Convert.ToInt32(r["id"]));