因此,我卡在一個程序,我有一系列的對可能或不能夠連接在一起,形成一個完整的路徑通過對。我需要能夠檢查一對中的第二個項目是否可以匹配另一個對中的第一個項目,依此類推,直到沒有剩下的對。例如,我對可能是:C# - 通過成對和匹配
(1,5)
(2,4)
(3,2)
(5,3)
(4,3)
我將需要能夠以某種方式遍歷對,並檢查是否可以得到一個完整的路徑,通過每一對,基於一對的第二個數字是否匹配下一對的第一個數字。在本例中,輸出爲:
(1,5),(5,3),(3,2),(2,4),(4,3)
形成完全匹配。如果比賽不能形成,我需要報告失敗。輸入基於文本文件。到目前爲止,我已經能夠使用Streamreader讀取文件,並基於換行符分割對,然後迭代並根據逗號將每個對分割爲它的項目。對於如何進行,我幾乎一無所知,如果有人有一些想法,我會很感激。
StreamReader sr = new StreamReader("inputs.txt");
string line = null;
line = sr.ReadToEnd();
var str = line.Trim().Split('\n');
int length = str.Length;
int index=1;
while (index < length)
{
var pair = str[index].Split(',');
var item1 = pair[0];
var item2 = pair[1];
}
太好了,謝謝!看起來我可以使用它來讓我的程序工作。有一件事 - 我所有的「第二」值都附加了「\ r」(由於這些對在我的輸入文件的各行上),因此永遠不會等於「第一」中的值,即使數字相同。在比較之前是否有辦法將這些返回字符修剪掉?再次感謝。 – noclist 2013-04-06 22:30:45
另外,當我找到第一場比賽時,我想休息嗎?我需要在整個系列賽中找到一條路徑,而不是在一場比賽之後纔是真實的。 – noclist 2013-04-06 22:42:42
@noclist - 查看'string'的'Trim'方法。 – Igor 2013-04-08 11:28:37