2013-04-15 68 views
0

試圖進一步我自己的理解,我複製一個簡單的數據庫 - 並無法理解以下內容;列表中的列表(關聯)

我有2班鎮和人。一個城鎮擁有許多人的例子,並且是這樣設置的;

public class Town 
{ 
    List<People> collectionOfPeople; 

    public string townName { get; set; } 

    public Town() 
    { 
     townName = "Cardiff"; 

     collectionOfPeople = new List<People>(); 
     collectionOfPeople.Add(new People("Daniel Smith")); 
    } 
} 

    public class People 
{ 

    public string name { get; set; } 

    public People(string tmp_name) 
    { 
     name = tmp_name; 
    } 
} 

假設我所做的事情是正確的,鎮有1個值(加的夫)和人民也有一個(丹尼爾·史密斯)或..丹尼爾住在加的夫。

我想顯示住在鎮內的人的名字..以後再循環瀏覽它們。 (** =的問題,我認爲)

private List<Town> townList; 
    private List<Town.People> peopleList;    ** 

    private void ShowData() 
    { 
     // Add to Text Box based on current Record 
     txt_town.Text = townList[0]).townName; 
     txt_name.Text = peopleList[0].name;   ** 
    } 

回答

1

這裏是我的變化。爲Town類中的collectionOfPeople提供公共訪問修飾符。

public class Town 
{ 
    public List<People> collectionOfPeople; 
    public string townName { get; set; } 
} 

之後,您可以訪問Town中的People實例。這樣的事情:

private List<Town> townList = new List<Town>();  
private void ShowData() 
{ 
    // Add to Text Box based on current Record 
    txt_town.Text = townList[0].townName; 
    txt_name.Text = townList[0].collectionOfPeople[0].name 
} 
+0

謝謝,那就是我正在尋找的! – user2261755

0

你還沒說你要什麼,如果有的話,錯誤消息,但我相信,爲了有

Town.People 

你需要創建一個你的Town類的屬性叫做People。我沒有看到你的代碼。

此外,還有在你行額外的括號:

txt_town.Text = townList[0].townName: //no) after [0] 
+0

我試圖顯示列表 collectionOfPeople;來自Town級別內。當嘗試Town.collectionOfPeople時出錯; 錯誤1'TownDemo.Town.collectionOfPeople'是'字段',但用於'type' – user2261755

+0

謝謝,答案證明有見地! – user2261755

+0

不客氣,很高興幫助。 – Melanie