zoukankan      html  css  js  c++  java
  • Linq分组

    1.lin语句

     int[] nums = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 3 };
                    DataTable table = new DataTable("Numbers");
                    table.Columns.Add("number", typeof(int));
                    foreach (int n in nums)
                    {
                        table.Rows.Add(new object[] { n });
                    }
    
                    var numbers = table.AsEnumerable();
                    var numberGroups =
                        from n in numbers
                        group n by n.Field<int>("number") into g
                        select new { Remainder = g.Key, Numbers = g };
    
                    foreach (var g in numberGroups)
                    {
                        Console.WriteLine("Numbers with a remainder of {0} when divided by 5:", g.Remainder);
                        foreach (var n in g.Numbers)
                        {
                            Console.WriteLine(n.Field<int>("number") + ",count:" + g.Numbers.Count());
                        }
                    }

    2.比较器

    public void Method{
    var anagrams = testDS.Tables["Anagrams"].AsEnumerable();
    
                    var orderGroups = anagrams.GroupBy(w => w.Field<string>("anagram").Trim(), new AnagramEqualityComparer());
    
                    foreach (var g in orderGroups)
                    {
                        Console.WriteLine("Key: {0}", g.Key);
                        foreach (var w in g)
                        {
                            Console.WriteLine("	" + w.Field<string>("anagram"));
                        }
                    }
    }
    
    
    //创建一个比较器
    
     private class AnagramEqualityComparer : IEqualityComparer<string>
                {
                    public bool Equals(string x, string y)
                    {
                        return getCanonicalString(x) == getCanonicalString(y);
                    }
    
                    public int GetHashCode(string obj)
                    {
                        return getCanonicalString(obj).GetHashCode();
                    }
    
                    private string getCanonicalString(string word)
                    {
                        char[] wordChars = word.ToCharArray();
                        Array.Sort<char>(wordChars);
                        return new string(wordChars);
                    }
                }

      

  • 相关阅读:
    PHP命令行执行程序php.exe使用及常用参数
    如何搜百度云盘里别人分享的文件
    WIN8下笔记本共享热点的设置
    COMPANY_点取消会卡死的解决方法
    python urllib
    windows技术
    五分钟搞定Linux容器
    分分钟教你制作完美的虚拟机镜像
    事件日志监控工具推荐
    Linux服务器管理员必备Linux命令TOP5
  • 原文地址:https://www.cnblogs.com/mawenzhu/p/4940743.html
Copyright © 2011-2022 走看看