g.Sum(item=>item.Is_done?1:0) 
拉姆达表达式里面,需要做分组汇总,但Is_done是bool的,怎么运用三元运算符,求教大家

解决方案 »

  1.   

    查两次不行么?Is_done为true的数量和为false的数量
      

  2.   

    这样不会报错的啊,如果你的Is_done是bool类型的话。
      

  3.   

    g.Count(item=> item.Is_done)
    你不就是要true结果的数量么
      

  4.   

    这个得问你是啥,比如EF他解释不了,比如list他能解释都是linq但分IQueryable,IEnumerable都是IQueryable但分provide
    so,没有前言,就没后语。这问题没说明前提,我们无法回答
      

  5.   

    试试这两种呢
    g.Sum(item => Convert.ToInt32(item.Is_done));
    g.Count(item => item.Is_done == true);
      

  6.   

    g.Select(item=>item.Is_done?1:0).Sum()
    或者
    g.Count(x => x.IsDone)
      

  7.   

    g.Select(item=>item.Is_done?1:0).Sum()
    或者
    g.Count(x => x.IsDone)本人收藏一下