我正在生成從/到座標點的列表,以及這些點之間的距離/時間。 爲了說明:最終產品的首部是這樣的C#,在2之後拆分;在同一行中
writer.WriteLine("fromX" + ";" + "fromY" + ";" + "toX" + ";" + "toY" + ";" + "distance" + ";" + "time");
從點計算到點是如下的方法:
A -> A
A -> B
A -> C
..
B -> A
B -> B
B -> C
等
的距離和時間是每計算和位於一個單獨的文件。然而,在該文件中的每個行由相同的開始點和每個端點之間的距離/時間,從而例如:
0;0;11289;950;9732;899;9886;725;32893;2195;38010;2478;46188;3330;
的目標是在最終產品中的以下符號:
point A;point A;0;0
point A;point B;11289;950
point A;point C;9732;899
等
正如你所看到的,我需要在每個第二個值上分開距離+時間線。
目前,我有以下代碼:
List<string> locationsList = new List<string>();
using (var reader = new StreamReader(File.OpenRead("locations.csv")))
{
while (reader.Peek() != -1)
locationsList.Add(reader.ReadLine());
}
List<string> distanceTime = new List<string>();
using (var reader = new StreamReader(File.OpenRead("distance.csv")))
{
while (reader.Peek() != -1)
distanceTime.Add(reader.ReadLine());
}
using (var writer = new System.IO.StreamWriter("Output.csv"))
{
writer.WriteLine("fromX" + ";" + "fromY" + ";" + "toX" + ";" + "toY" + "distance" + ";" + "time")
foreach (var fromLine in locationsList)
{
splitFrom = fromLine.Split(';');
fromX = splitFrom[0].Trim();
fromY = splitFrom[1].Trim();
foreach (var toLine in locationsList)
{
splitTo = toLine.Split(';');
toX = splitTo[0].Trim();
toY = splitTo[1].Trim();
writer.WriteLine(fromX + ";" + fromY + ";" + toX + ";" + toY);
}
}
MessageBox.Show("Done");
}
這將不得不與可能是foreach循環讀取從distanceTime-list中的線,將其分解擴大,需要每首2個值並將它們與起點和終點一起寫入。 問題是,我不知道如何在每個第二個值後分割。 你有什麼建議嗎?
這讓我更加深入,謝謝! – KDE