C# Finding the maximum value of a string with linq

前端 未结 3 1170
你的背包
你的背包 2020-12-21 15:46

This is what I have and it keeps returning null.

It doesn\'t recognize the Convert.toInt32 when I add a where statement

var maxTopID = (from max in         


        
相关标签:
3条回答
  • 2020-12-21 16:19

    How about converting the TopicID in SELECT and use String.IsNullOrEmpty() to remove empty string, like:

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

    See the Demo

    0 讨论(0)
  • 2020-12-21 16:32

    I think you are saying that TopicID is string and you want to convert it to 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 will contain max value from list which is converted to list of integer

    0 讨论(0)
  • 2020-12-21 16:32

    Check for the null condition as mentioned in below query

    var maxTopID = (from max in dbcontext.Topics.Local
                     where  max.TopicId != null
                     select max.TopicID).Max();
    
    0 讨论(0)
提交回复
热议问题