2013-12-08 80 views
0

我有我的類都包含字符串2只列出了與之相匹配的,我使用的WinForms如何從列表中取出項目,並與另一項目在WPF C#中的另一個列表

public List<Journey> journeys = new List<Journey>(); 
public List<Vehicle> vehicles = new List<Vehicle>(); 

我希望能夠獲得例如列表journeys中的第一個元素和列表vehicles中的第一個元素,組合數據,然後將該數據輸出到名爲ShowAll的列表框。

我希望能夠在vehicles等與在列出每個項目要做到這一點,所以第二個元素在journeys與第二個元素的比賽中vehicles和第三元素journeys與第三元素匹配

我不沒有線索如何做到這一點,但如果有人能幫我一把,那將是非常棒的。謝謝!

+0

建議一個'CompositeObject'包含'Journey'和'Vehicle',並且只有一個'CompositeObject'列表。與一個tostring進入列表框.. – amdixon

+0

你會向我展示一些示例代碼嗎? @amdixon – Huzzah

回答

1

嘗試像

class CompositeObject //use a better name that fits your context.. 
{ 
    Journey journey; public Journey Property { get; private set; } 
    Vehicle vehicle; public Vehicle Property { get; private set; } 

    public CompositeObject(Journey journey, Vehicle vehicle) 
    { 
    this.journey = journey; 
    this.vehicle = vehicle; 
    } 

    public override string ToString() 
    { 
    return this.vehicle.ToString() + " | " + this.journey.ToString(); 
    } 
} 

現在你可以重構ToString給適合您的GUI(列表框),你的輸出。當涉及到寫入列表框時,一個簡單的for循環應該做

0

我沒有測試這個。我只是寫在這裏,但它應該工作。試一試。

祝你好運。

StringBuilder sb = new StringBuilder(); 

for(int n=0; n< journeys.Length; journeys++) 
    sb.Append(journeys[n]).Append(vehicles[n]).Append("\n"); 

ShowAll.Clear(); 
ShowAll.Text = sb.ToString(); 
+0

這在某種程度上起作用,它似乎在工作,但是當我將它輸出到文本框或任何東西時,它只輸出列表的名稱而不是任何數據。 – Huzzah

+0

我假設的字符串數組。嘗試旅程[n] .ToString() – drankin2112

+0

列表和列表是字符串的列表。如果這是你正在追求的目標,它們應該是列表。 – drankin2112

相關問題