C# C使用linq查找字符串的最大值

C# C使用linq查找字符串的最大值,c#,string,linq,max,C#,String,Linq,Max,这就是我所拥有的,它一直返回null 添加where语句时,它无法识别Convert.toInt32 var maxTopID = (from max in dbcontext.Topics.Local select max.TopicID).Max(); 检查下面查询中提到的空条件 var maxTopID = (from max in dbcontext.Topics.Local where max.TopicId != n

这就是我所拥有的,它一直返回null

添加where语句时,它无法识别Convert.toInt32

var maxTopID = (from max in dbcontext.Topics.Local
               select max.TopicID).Max();

检查下面查询中提到的空条件

var maxTopID = (from max in dbcontext.Topics.Local
                 where  max.TopicId != null
                 select max.TopicID).Max();

我想你是说TopicID是string,你想把它转换成int

var list= (from max in dbcontext.Topics.Local
                     where  max.TopicId != null
                     select max.TopicID).ToList();

int max=0;

if (list.Count() !=0)
max=list.Select(int.Parse).ToList().Max();
max将包含从列表转换为整数列表的max值

如何在SELECT and use String.IsNullOrEmpty中转换TopicID以删除空字符串,如:

 var maxTopID = (from max in dbcontext.Topics.Local
                 where !String.IsNullOrEmpty(max.TopicID)
                 select Convert.ToInt32(max.TopicID)).Max();

请参见

您的where语句在哪里?你的Covnert.ToInt32在哪里?你在TopicId中有值吗?TopicId的数据类型是什么?是的!100、200、300、400和500,其中where语句在dbcontext.Topics.Local where Convert.ToInt32max.TopicID中读取var maxTopID=from max,选择max.TopicID.max;LINQ到SQL是否支持String.IsNullOrEmpty?我很高兴它不支持String.IsNullOrWhiteSpace,但它是否支持前一个我不确定。你检查了演示链接了吗?这直接来自C编译器。此外,String.IsNullOrEmpty可以在任何地方使用,只要您正在测试一个值是否为null或空。我访问了该链接,但没有费心运行它,因为这与我的问题无关。明确地说,这并不涉及LINQ到SQL。没关系,我明天会检查自己,如果我记得的话,会让你知道的。毕竟,OP与LINQ到SQL本身无关。