📄 classcitylink.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using immune_algorithm.wlddDataSetTableAdapters;
namespace immune_algorithm
{
class ClassNextCity
{
public int linkLength;
public Guid nextCityid;
public String cityName;
}
class ClassCityLink
{
public Guid firstCityId;
public String cityName;
public ArrayList listCityLink(ArrayList list,Guid projectId)//将选定的配货点的路径关系找出并存放到listAllCitylink中,list为已经选择的城市
{
ArrayList listAllCityslink = new ArrayList();
wlddDataSet.linkPath1DataTable linkTable = GetAllLinks(projectId);
for (int i = 0; i < list.Count; i++)
{
ArrayList cityLink = new ArrayList();//记录每一个城市的临近城市
ClassCityLink firtCity = new ClassCityLink();
firtCity.firstCityId = ((Classcity)list[i]).cityId;//开始城市的id
firtCity.cityName = ((Classcity)list[i]).cityName;
cityLink.Add(firtCity);//加入开始城市
// System.Console.Out.WriteLine(linkTable.Rows.Count + "linkTable.Rows.Count.................");
for (int j = 0; j < linkTable.Rows.Count; j++)
{
if (firtCity.firstCityId.Equals((Guid)(linkTable.Rows[j]["firstNodeId"])))
{
ClassNextCity nextCity = new ClassNextCity();
nextCity.nextCityid = (Guid)(linkTable.Rows[j]["nextNodeId"]);//获取连接城市的id
for (int k = 0; k < list.Count; k++)//获取连接城市的名字
{
if (nextCity.nextCityid.Equals(((Classcity)list[k]).cityId))
{
nextCity.cityName = ((Classcity)list[k]).cityName;
}
}
nextCity.linkLength =(int)linkTable.Rows[j]["linkLength"];//获取连接城市的路径长度
cityLink.Add(nextCity);
}
}
listAllCityslink.Add(cityLink);
}
//printAllLinkList(listAllCityslink);
return listAllCityslink;
}
public wlddDataSet.linkPath1DataTable GetAllLinks(Guid projectId)//从数据库中取出所有路径的连接关系
{
linkPath1TableAdapter linkPath1Adapter = new linkPath1TableAdapter();
wlddDataSet.linkPath1DataTable linkTable = linkPath1Adapter.GetDataByProjectId(projectId);
return linkTable;
}
//public ArrayList listCityLink(ArrayList list)
//{
// ArrayList listAllCitysLink = new ArrayList();
// ArrayList listCity1 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink1 = new ClassCityLink();
// cityLink1.firstCityId = ((Classcity)list[0]).cityId;//开始城市的id
// cityLink1.cityName = ((Classcity)list[0]).cityName;
// ClassNextCity nextCity11 = new ClassNextCity();
// nextCity11.nextCityid = ((Classcity)list[2]).cityId;
// nextCity11.cityName = ((Classcity)list[2]).cityName;
// nextCity11.linkLength = 47;
// ClassNextCity nextCity12 = new ClassNextCity();
// nextCity12.nextCityid = ((Classcity)list[1]).cityId;
// nextCity12.cityName = ((Classcity)list[1]).cityName;
// nextCity12.linkLength = 62;
// listCity1.Add(cityLink1);
// listCity1.Add(nextCity11);
// listCity1.Add(nextCity12);
// ArrayList listCity2 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink2 = new ClassCityLink();
// cityLink2.firstCityId = ((Classcity)list[1]).cityId;//开始城市的id
// cityLink2.cityName = ((Classcity)list[1]).cityName;
// ClassNextCity nextCity21 = new ClassNextCity();
// nextCity21.nextCityid = ((Classcity)list[0]).cityId;
// nextCity21.cityName = ((Classcity)list[0]).cityName;
// nextCity21.linkLength = 62;
// ClassNextCity nextCity22 = new ClassNextCity();
// nextCity22.nextCityid = ((Classcity)list[2]).cityId;
// nextCity22.cityName = ((Classcity)list[2]).cityName;
// nextCity22.linkLength = 55;
// listCity2.Add(cityLink2);
// listCity2.Add(nextCity21);
// listCity2.Add(nextCity22);
// ArrayList listCity3 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink3 = new ClassCityLink();
// cityLink3.firstCityId = ((Classcity)list[2]).cityId;//开始城市的id
// cityLink3.cityName = ((Classcity)list[2]).cityName;
// ClassNextCity nextCity31 = new ClassNextCity();
// nextCity31.nextCityid = ((Classcity)list[0]).cityId;
// nextCity31.cityName = ((Classcity)list[0]).cityName;
// nextCity31.linkLength = 47;
// ClassNextCity nextCity32 = new ClassNextCity();
// nextCity32.nextCityid = ((Classcity)list[1]).cityId;
// nextCity32.cityName = ((Classcity)list[1]).cityName;
// nextCity32.linkLength = 55;
// ClassNextCity nextCity33 = new ClassNextCity();
// nextCity33.nextCityid = ((Classcity)list[3]).cityId;
// nextCity33.cityName = ((Classcity)list[3]).cityName;
// nextCity33.linkLength = 37;
// listCity3.Add(cityLink3);
// listCity3.Add(nextCity31);
// listCity3.Add(nextCity32);
// listCity3.Add(nextCity33);
// ArrayList listCity4 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink4 = new ClassCityLink();
// cityLink4.firstCityId = ((Classcity)list[3]).cityId;//开始城市的id
// cityLink4.cityName = ((Classcity)list[3]).cityName;
// ClassNextCity nextCity41 = new ClassNextCity();
// nextCity41.nextCityid = ((Classcity)list[2]).cityId;
// nextCity41.cityName = ((Classcity)list[2]).cityName;
// nextCity41.linkLength = 37;
// ClassNextCity nextCity42 = new ClassNextCity();
// nextCity42.nextCityid = ((Classcity)list[4]).cityId;
// nextCity42.cityName = ((Classcity)list[4]).cityName;
// nextCity42.linkLength = 100;
// listCity4.Add(cityLink4);
// listCity4.Add(nextCity41);
// listCity4.Add(nextCity42);
// ArrayList listCity5 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink5 = new ClassCityLink();
// cityLink5.firstCityId = ((Classcity)list[4]).cityId;//开始城市的id
// cityLink5.cityName = ((Classcity)list[4]).cityName;
// ClassNextCity nextCity51 = new ClassNextCity();
// nextCity51.nextCityid = ((Classcity)list[5]).cityId;
// nextCity51.cityName = ((Classcity)list[5]).cityName;
// nextCity51.linkLength = 75;
// ClassNextCity nextCity52 = new ClassNextCity();
// nextCity52.nextCityid = ((Classcity)list[6]).cityId;
// nextCity52.cityName = ((Classcity)list[6]).cityName;
// nextCity52.linkLength = 26;
// ClassNextCity nextCity53 = new ClassNextCity();
// nextCity53.nextCityid = ((Classcity)list[7]).cityId;
// nextCity53.cityName = ((Classcity)list[7]).cityName;
// nextCity53.linkLength = 39;
// ClassNextCity nextCity54 = new ClassNextCity();
// nextCity54.nextCityid = ((Classcity)list[8]).cityId;
// nextCity54.cityName = ((Classcity)list[8]).cityName;
// nextCity54.linkLength = 59;
// ClassNextCity nextCity55 = new ClassNextCity();
// nextCity55.nextCityid = ((Classcity)list[3]).cityId;
// nextCity55.cityName = ((Classcity)list[3]).cityName;
// nextCity55.linkLength = 100;
// listCity5.Add(cityLink5);
// listCity5.Add(nextCity51);
// listCity5.Add(nextCity52);
// listCity5.Add(nextCity53);
// listCity5.Add(nextCity54);
// listCity5.Add(nextCity55);
// ArrayList listCity6 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink6 = new ClassCityLink();
// cityLink6.firstCityId = ((Classcity)list[5]).cityId;//开始城市的id
// cityLink6.cityName = ((Classcity)list[5]).cityName;
// ClassNextCity nextCity61 = new ClassNextCity();
// nextCity61.nextCityid = ((Classcity)list[4]).cityId;
// nextCity61.cityName = ((Classcity)list[4]).cityName;
// nextCity61.linkLength = 75;
// ClassNextCity nextCity62 = new ClassNextCity();
// nextCity62.nextCityid = ((Classcity)list[6]).cityId;
// nextCity62.cityName = ((Classcity)list[6]).cityName;
// nextCity62.linkLength = 75;
// listCity6.Add(cityLink6);
// listCity6.Add(nextCity61);
// listCity6.Add(nextCity62);
// ArrayList listCity7 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink7 = new ClassCityLink();
// cityLink7.firstCityId = ((Classcity)list[6]).cityId;//开始城市的id
// cityLink7.cityName = ((Classcity)list[6]).cityName;
// ClassNextCity nextCity71 = new ClassNextCity();
// nextCity71.nextCityid = ((Classcity)list[4]).cityId;
// nextCity71.cityName = ((Classcity)list[4]).cityName;
// nextCity71.linkLength = 26;
// ClassNextCity nextCity72 = new ClassNextCity();
// nextCity72.nextCityid = ((Classcity)list[5]).cityId;
// nextCity72.cityName = ((Classcity)list[5]).cityName;
// nextCity72.linkLength = 75;
// listCity7.Add(cityLink7);
// listCity7.Add(nextCity71);
// listCity7.Add(nextCity72);
// ArrayList listCity8 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink8 = new ClassCityLink();
// cityLink8.firstCityId = ((Classcity)list[7]).cityId;//开始城市的id
// cityLink8.cityName = ((Classcity)list[7]).cityName;
// ClassNextCity nextCity81 = new ClassNextCity();
// nextCity81.nextCityid = ((Classcity)list[4]).cityId;
// nextCity81.cityName = ((Classcity)list[4]).cityName;
// nextCity81.linkLength = 39;
// ClassNextCity nextCity82 = new ClassNextCity();
// nextCity82.nextCityid = ((Classcity)list[8]).cityId;
// nextCity82.cityName = ((Classcity)list[8]).cityName;
// nextCity82.linkLength = 40;
// listCity8.Add(cityLink8);
// listCity8.Add(nextCity81);
// listCity8.Add(nextCity82);
// ArrayList listCity9 = new ArrayList();//存储每个城市所能到达的城市的里程
// ClassCityLink cityLink9 = new ClassCityLink();
// cityLink9.firstCityId = ((Classcity)list[8]).cityId;//开始城市的id
// cityLink9.cityName = ((Classcity)list[8]).cityName;
// ClassNextCity nextCity91 = new ClassNextCity();
// nextCity91.nextCityid = ((Classcity)list[4]).cityId;
// nextCity91.cityName = ((Classcity)list[4]).cityName;
// nextCity91.linkLength = 59;
// ClassNextCity nextCity92 = new ClassNextCity();
// nextCity92.nextCityid = ((Classcity)list[7]).cityId;
// nextCity92.cityName = ((Classcity)list[7]).cityName;
// nextCity92.linkLength = 40;
// listCity9.Add(cityLink9);
// listCity9.Add(nextCity91);
// listCity9.Add(nextCity92);
// listAllCitysLink.Add(listCity1);
// listAllCitysLink.Add(listCity2);
// listAllCitysLink.Add(listCity3);
// listAllCitysLink.Add(listCity4);
// listAllCitysLink.Add(listCity5);
// listAllCitysLink.Add(listCity6);
// listAllCitysLink.Add(listCity7);
// listAllCitysLink.Add(listCity8);
// listAllCitysLink.Add(listCity9);
// return listAllCitysLink;
//}
public void printAllLinkList(ArrayList listAllLink)//输出
{
for (int i = 0; i < listAllLink.Count; i++)
{
ArrayList listLink = (ArrayList)listAllLink[i];
for (int j = 0; j < listLink.Count; j++)
{
if (j == 0)
{
System.Console.Out.Write(((ClassCityLink)listLink[j]).cityName);
System.Console.Out.Write("-->");
}
else
{
System.Console.Out.Write(((ClassNextCity)listLink[j]).cityName);
System.Console.Out.Write(((ClassNextCity)listLink[j]).linkLength);
}
}
System.Console.Out.Write("\n");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -