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

时间:2013-12-05 06:10:20

标签: c# string linq max

这就是我所拥有的并且它一直返回null。

当我添加where语句

时,它无法识别Convert.toInt32
var maxTopID = (from max in dbcontext.Topics.Local
               select max.TopicID).Max();

3 个答案:

答案 0 :(得分:4)

如何转换TopicID中的SELECT并使用String.IsNullOrEmpty()删除空字符串,例如:

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

请参阅 Demo

答案 1 :(得分:1)

检查以下查询

中提到的空条件
var maxTopID = (from max in dbcontext.Topics.Local
                 where  max.TopicId != null
                 select max.TopicID).Max();

答案 2 :(得分:1)

我认为您说TopicID是字符串,您想将其转换为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将包含list中的最大值,该值将转换为整数列表