List<Dictionary<string, string>> 查询对比案例

 C kttdata = ACA.selectktt(stationName);
            List<Dictionary<string, string>> ptndata = ACA.selectprn(stationName);
            List<Dictionary<string, string>> resdata = new List<Dictionary<string, string>>();
            if (kttdata != null && kttdata.Count > 0) 
            {
                foreach (Dictionary<string,string> item in kttdata) 
                {
                    //List<Dictionary<string, string>> selected = ptndata.Where(p => p["SF_TRAIN_CODE"].ToString() == item["SF_TRAIN_CODE"].ToString() && p["START_DATE"].ToString() == item["START_DATE"].ToString() && p["STATION_NAME"].ToString() == item["STATION_NAME"].ToString()).ToList();//
                    Dictionary<string, string> selected = ptndata.Find(p => { return p["SF_Train_Code"].ToString().Equals(item["SF_Train_Code"].ToString()) && p["Start_Date"].ToString().Equals(item["Start_Date"].ToString()) && p["Station_Name"].ToString().Equals(item["Station_Name"].ToString()); });
                    if (selected != null)
                    {
                        foreach (KeyValuePair<string, string> a in selected)
                        {
                            string key = a.Key;
                            string value = a.Value;
                            if (!item[key].ToString().Equals(value))
                            {
                                resdata.Add(item);
                                break;
                            }
                        }
                        #region 简便方法
                        //foreach (string key in selected.Keys)
                        //{
                              
                        //    if (!item[key].ToString().Equals(selected[key]))
                        //    {
                        //        resdata.Add(item);
                        //        break;
                        //    }
                        //}
                        #endregion
                        ptndata.Remove(selected);
                    }
                    else 
                    {
                        resdata.Add(item);
                        
                    }
                }
              
            }

 

posted @ 2020-03-26 16:11  风好累  阅读(1548)  评论(0编辑  收藏  举报