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);
}
}
}