case 2:
#region 在建项目区域分布
//Dictionary<string, string> dit2 = new Dictionary<string, string>();
所有省市
//if (d.Tables[0].Rows.Count > 0)
//{
// for (int i = 0; i < d.Tables[0].Rows.Count; i++) //遍历省份
// {
// string Continent = d.Tables[0].Rows[i]["id"].ToString(); //当前省份
// string cName = d.Tables[0].Rows[i]["name"].ToString();
// string cNum = alldatas.Where(t => t.Continent == Continent).Count().ToString(); //当前省份在建项目数量
// dit2.Add(cName, cNum);
// }
//}
//rtnJson = new { PerformanceDataArea = dit2 };
//break;
#region 取在建数量前五个的省市,其余的都归为其它中
Dictionary<string, string> dit2 = new Dictionary<string, string>();
if (d.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < d.Tables[0].Rows.Count; i++) //遍历省份
{
string Continent = d.Tables[0].Rows[i]["id"].ToString(); //当前省份
string cName = d.Tables[0].Rows[i]["name"].ToString();
string cNum = alldatas.Where(t => t.Continent == Continent).Count().ToString(); //当前省份在建项目数量
dit2.Add(cName, cNum);
}
}
//dit2根据value排倒序
Dictionary<string, string> ditDesc2 = new Dictionary<string, string>();
ditDesc2 = (from entry in dit2
orderby entry.Value descending
select entry).ToDictionary(pair => pair.Key, pair => pair.Value);
//取在建数量前五个的省市,其余的都归为其它中
Dictionary<string, string> dit2Top5 = new Dictionary<string, string>();
//for循环遍历
List<string> list2 = new List<string>(ditDesc2.Keys);
//取在建数量前五个的省市
for (int i = 0; i < 5; i++)
{
//Console.WriteLine(list5[i] + ditDesc2[list5[i]]);
dit2Top5.Add(list2[i], ditDesc2[list2[i]]);
}
//其余的都归为其它中
int other = 0;
for (int i = 5; i < d.Tables[0].Rows.Count; i++)
{
other += ditDesc2[list2[i]] == null ? 0 : Convert.ToInt32(ditDesc2[list2[i]]);
}
dit2Top5.Add("其它", other.ToString());
#endregion
rtnJson = new { PerformanceDataArea = dit2Top5 };
break;
#endregion