標籤

ASP.NET MVC (29) Visual C# (15) JQuery (10) Plugins (8) JQuery Plugins (6) JavaScript (6) MySQL (5) CSS (4) LinQ (4) Mac OS (4) CentOS (3) Design Pattern (3) Entity Framework (3) IIS (3) Python (3) Windows (3) php (3) Docker (2) LAMP (2) SQL Server (2) WCF (2) .NET (1) .NET Core (1) AWS (1) Browser (1) GIS (1) IE (1) Internet Security (1) Linux (1) Platform (1) React (1) SEO (1) Testing (1) VMware (1) Windows 7 (1) cookie (1) curl (1) laravel (1) phpBB (1) session (1) 中古屋 (1) 透天 (1) 閒言閒語 (1) 面試 (1) 鳥松 (1)

2011年4月20日 星期三

[Visual C#]兩個List相減

原本是想要做兩個List<string>相減,結果找到個好方法:
        public static IEnumerable Subtract(IEnumerable source, IEnumerable other)
        {
            return Subtract(source, other, EqualityComparer.Default);
        }

        public static IEnumerable Subtract(IEnumerable source, IEnumerable other, IEqualityComparer comp)
        {
            Dictionary dict = new Dictionary(comp);
            foreach(T item in source)
            {
                dict[item] = null;
            }

            foreach(T item in other)
            {
                dict.Remove(item);
            }

            return dict.Keys;
        }

參考資料:
http://stackoverflow.com/questions/2266682/how-to-substract-one-generic-list-from-another-in-c2-0

備註:C#預設交集操作:
http://msdn.microsoft.com/zh-tw/library/bb460136.aspx

沒有留言:

張貼留言