List<int> a = new List<int>{0,3,7,2,3,7,0,1,7,0,2,4,3,4,7,1,2,8,4,8}List<int> num = new List<int>{0,1,2,3,4,5,6,7,8,9}
先判断数字0~9的出现次数,次数<2的数值,也就是569   放入单元格(1,1)
次数=2的数值,也就是18    放入单元格(1,2)
次数>2的数值,也就是02347 放入单元格(1,3)

解决方案 »

  1.   

    var query=a.GroupBy(a=>a).Select(g=>new{k=g.Key,cnt=g.Count()});
    次数<2的数值,也就是569 放入单元格(1,1)   
    // String.Join("",query.Where(x=>x.cnt<2).Select(x=>x.k.ToString()).ToArray());
    次数=2的数值,也就是18 放入单元格(1,2)
    //String.Join("",query.Where(x=>x.cnt==2).Select(x=>x.k.ToString()).ToArray());
    次数>2的数值,也就是02347 放入单元格(1,3)
    String.Join("",query.Where(x=>x.cnt>2).Select(x=>x.k.ToString()).ToArray());
      

  2.   


    老师,变量src里面,没有数字5、6,但是按题目,5、6虽然没有出现,但也算作出现次数<2显示
    String.Join("",query.Where(x=>x.cnt<2).Select(x=>x.k.ToString()).ToArray());
    的运算结果,只有9,没有56,如何把 56 显示出来呢? 谢谢
      

  3.   

    string under = String.Join("",query.Where(x=>x.cnt<2).Select(x=>x.k.ToString()).ToArray());string equal = String.Join("",query.Where(x=>x.cnt==2).Select(x=>x.k.ToString()).ToArray());string greater = String.Join("",query.Where(x=>x.cnt>2).Select(x=>x.k.ToString()).ToArray());List<string> surplus = num.Except(under.Union(equal.Union(greater))).ToList();under = under + surplus但似乎不行! 提示:不包含"Except“的定义
      

  4.   

    List<int> a = new List<int>{0,3,7,2,3,7,0,1,7,0,2,4,3,4,7,1,2,8,4,8};
                List<int> num = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };            var result = a.OrderBy(c => c).GroupBy(c => c).Select(c => new { c.Key, count = c.Count() });
                int[] result1 = result.Where(c=>c.count==2).Select(c=>c.Key).ToArray();
                int[] result2 = result.Where(c => c.count > 2).Select(c => c.Key).ToArray();
                int[] result3 = result.Where(c => c.count < 2).Select(c => c.Key).ToArray();
      

  5.   

    .NETFX 版本太低了导致的。
      

  6.   


    那如何把 result1 数组形式 的填入 单元格(1,1)呢?cell(1.1).text = result1.tostring(); 似乎不行呢,新手请教
      

  7.   

    对于出现次数小于2的我想到了另外一个办法:List<int> a = new List<int>{0,3,7,2,3,7,0,1,7,0,2,4,3,4,7,1,2,8,4,8,9}List<int> num = new List<int>{0,1,2,3,4,5,6,7,8,9}List<int> surplus = num.Except(a).ToList();把a扩充newa,在a增加没有出现的数字 5 、6 使得newa包含5,6 List<int> newa = src.Add(surplus) // 但在这里卡壳,报错,如何在newa里面添加,然后执行:
    var query=newa.GroupBy(a=>a).Select(g=>new{k=g.Key,cnt=g.Count()});
    String.Join("",query.Where(x=>x.cnt<2).Select(x=>x.k.ToString()).ToArray());
      

  8.   

    选择解决方案右击属性,看你的.NETFX版本撒。VS2010也可以选择.NET2.0的版本的。