C# 列表中的列表(关联)

C# 列表中的列表(关联),c#,forms,list,nested-lists,C#,Forms,List,Nested Lists,为了进一步加深我自己的理解,我正在复制一个简单的数据库,但在理解以下内容时遇到了困难 我有两个班:城镇和人民。一个城镇拥有许多人的实例,并且是这样设置的 public class Town { List<People> collectionOfPeople; public string townName { get; set; } public Town() { townName = "Cardiff";

为了进一步加深我自己的理解,我正在复制一个简单的数据库,但在理解以下内容时遇到了困难

我有两个班:城镇和人民。一个城镇拥有许多人的实例,并且是这样设置的

    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;
    }
}
公共级城镇
{
列出收集的人;
公共字符串名称{get;set;}
公营城市()
{
townName=“加的夫”;
collectionOfPeople=新列表();
collectionOfPeople.Add(新人物(“Daniel Smith”);
}
}
公营阶层人士
{
公共字符串名称{get;set;}
公众人物(字符串tmp_名称)
{
名称=tmp_名称;
}
}
假设我所做的是正确的,城镇有1个值(加的夫),人们也有1个值(丹尼尔·史密斯)或。。丹尼尔住在加的夫

我正试图展示住在城里的人的名字。。以便以后循环使用它们。(**=我想是问题)

private-List-townList;
私人名单**
私有void ShowData()
{
//基于当前记录添加到文本框
txt_town.Text=townList[0]).townName;
txt_name.Text=peopleList[0]。姓名**
}

您还没有说您收到了什么错误消息(如果有的话),但我相信为了让您知道

Town.People
您需要为您的Town类创建一个名为People的属性。我在你的代码中看不到这一点

此外,您的行中还有一个额外的括号:

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

这是我的零钱。为镇级collectionOfPeople提供公共访问修饰符

public class Town
{
    public List<People> collectionOfPeople;
    public string townName { get; set; }
}
公共级城镇
{
公众名单收集人;
公共字符串名称{get;set;}
}
之后,您可以访问镇内的人员实例。大概是这样的:

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
}
private List townList=new List();
私有void ShowData()
{
//基于当前记录添加到文本框
txt_town.Text=townList[0]。townName;
txt_name.Text=townList[0]。collectionOfPeople[0]。姓名
}

我正在尝试显示人员的列表集合;来自城镇阶级内部。尝试Town.collectionOfPeople时出错;错误1“TownDemo.Town.collectionOfPeople”是一个“字段”,但用作“类型”谢谢,答案很有见地!谢谢,那正是我想要的!
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
}