public class CompareCollection
    {
          public List<string> CompareList(List<string> oldList, List<string> newList)
          {
                Dictionary<string, string> dict = new Dictionary<string, string>();
                AddDictionary(dict, oldList);
                AddDictionary(dict, newList);
                return dict.Where(r => r.Value==string.Empty).Select(c => c.Key).ToList();
          }
          private void AddDictionary(Dictionary<string, string> dict, List<string> list)
          {
                foreach (var ls in list)
                {
                      if (dict.Keys.Contains(ls))
                      {
                            dict[ls] = ls;
                      }
                      else
                      {
                            dict.Add(ls, string.Empty);
                      }
                }
          }
    }
    class Program
    {
          static void Main(string[] args)
          {
                //从数据库读取的数组
                List<string> newlist = new List<string> { "001", "002", "003", "999" };
                //初始化0~999数组
                List<string> oldlist = new List<string>();
                for (int i = 0; i < 1000; i++)
                {
                      if (i < 10)
                            oldlist.Add("00" + i);
                      if (i >= 10 && i < 100)
                            oldlist.Add("0" + i);
                      if (i >= 100)
                            oldlist.Add(i.ToString());
                }
                CompareCollection col = new CompareCollection();
                List<string> list = col.CompareList(oldlist, newlist);
          }
    }
                    
                
                
            
        
浙公网安备 33010602011771号