C# 如何将项目添加到列表中
我有班级,城市和街道。给房子编号。我面临这样一个问题,一个人不仅可以住在1个城市,还可以住在2个纽约和洛杉矶。如何为人添加新城市C# 如何将项目添加到列表中,c#,C#,我有班级,城市和街道。给房子编号。我面临这样一个问题,一个人不仅可以住在1个城市,还可以住在2个纽约和洛杉矶。如何为人添加新城市 var live = new List<Live>(); lives.Add(new Live { Person = new Person { FirstName = "Joe", LastName = "Doe" }, City
var live = new List<Live>();
lives.Add(new Live
{
Person = new Person
{
FirstName = "Joe",
LastName = "Doe"
},
City = new City
{
Name = "NY",
},
Number = 31
});
您可以将城市改为城市列表中的城市
var live = new List<Live>();
lives.Add(new Live
{
Person = new Person
{
FirstName = "Joe",
LastName = "Doe"
},
Cities = new List<City>
{
new City
{
Name = "NY",
},
new City
{
Name = "LA",
}
},
Number = 31
});
为了进行编译,Person类的定义如下:
public class Live
{
public Person Person { get; set; }
public List<City> Cities { get; set; }
public int Number;
}
另外,根据您的评论,如果您想要每个城市的数字,那么我可以想象的最简单的解决方案是将数字从Person类移动到City类
最终,这取决于您需要精确建模的内容,还有其他方法。在Live类中,将可变城市设置为城市[],允许某人居住在多个城市
City City;
到
然后你可以把你的代码改成这样
var live = new List<Live>();
lives.Add(new Live
{
Person = new Person
{
FirstName = "Joe",
LastName = "Doe"
},
Cities = new City[]
{
new City {
Name = "LA"
},
new City {
Name = "NY"
}
},
Number = 31
});
把城市列成一个城市的清单。我不明白到底是什么问题。你能澄清一下吗?试着学习如何创建列表和更新question@Pac0说得好,我错了。我不相信你能像那样显式初始化一个列表,这个功能是为数组保留的。不,那个列表构造函数工作得很好,任何IEnumerable都可以。但是如何给城市增加一个数字呢?每个城市都有自己的号码。我有公共类Live{public Person{get;set;}公共城市{get;set;}公共整数{get;set;}}@EvgeniyBojenov如果这个数字与城市链接,那么它应该在城市类中。如果所有这些都来自关系数据库和/或出于某些原因,您不想将Number属性添加到类City,那么您可能应该执行某种中间类PersonCity。每个城市都包含一个城市和一个相关的数字。然后,Person将包含一个列表。@正如kenny所说,这对于任何列表、数组、集合等都是完全有效的初始化。。。
var live = new List<Live>();
lives.Add(new Live
{
Person = new Person
{
FirstName = "Joe",
LastName = "Doe"
},
Cities = new City[]
{
new City {
Name = "LA"
},
new City {
Name = "NY"
}
},
Number = 31
});
var live = new List<Live>();
lives.Add(new Live
{
Person = new Person
{
FirstName = "Joe",
LastName = "Doe"
},
Cities = new List<City>(
new City[]
{
new City {
Name = "LA"
},
new City {
Name = "NY"
}
}),
Number = 31
});