我想填充一个包含proprty的对象,该proprty是另一个类的列表。我的问题是如何初始化其他类列表的proprty。这里是proprty" images"是CenterShopImage类的列表。
{
ID = c.ID,
address = c.address,
category = new Model.CenterShopCat
{
ID = c.CenterShopCat.ID,
name = c.CenterShopCat.name
},
floorNumber = c.floorNumber,
images = new List (CenterShopImage)
{
//what should i do here?????
},
};
感谢。
har07和mjshaw感谢您的answare,但我不知道有多少CenterShopImage存在! 中心商店有一份清单。它是CenterShopImage类的列表。所以他们之间有关系。每个CenterShop都有一些图像。现在我想选择与centerShop有关的图像,因此所有CenterShopIamge都有一个foreach,它选择其中一些id等于centerShopImageID的中心。请帮帮我。
答案 0 :(得分:1)
答案取决于您的要求。如果您不需要设置任何内容,只需删除该部分:
images = new List<CenterShopImage>()
如果您要添加IEnumerable<CenterShopImage>
的初始集合,请或使用接受CenterShopImage
的{{3}}:
images = new List<CenterShopImage>(myInitialCollection)
如果要将新项目添加到列表而不是准备添加集合,可以使用集合初始化程序语法:
images = new List<CenterShopImage>()
{
new CenterShopImage
{
propertyA = "value1"
},
new CenterShopImage
{
propertyA = "value2"
},
}
答案 1 :(得分:1)
我可能会误解,但我相信你问的是如何初始化一个列表,没有典型的“新列表()”。尝试以下方法。我假设CenterShopImage是类型:
{
ID = c.ID,
address = c.address,
category = new Model.CenterShopCat
{
ID = c.CenterShopCat.ID,
name = c.CenterShopCat.name
},
floorNumber = c.floorNumber,
images = new List<CenterShopImage>()
{
new CenterShopImage{...},
new CenterShopImage{...},
...
},
};
答案 2 :(得分:0)
只需从&#34; c&#34;所需的属性中选择所需的类型。 我不知道是什么类型的图像&#34; c&#34;保持或如何从该类型创建CenterShopImage,但在此示例中,我假设您有一个CenterShopImage构造函数,它接受c类型作为参数。
{
D = c.ID,
address = c.address,
category = new Model.CenterShopCat
{
ID = c.CenterShopCat.ID,
name = c.CenterShopCat.name
},
floorNumber = c.floorNumber,
images = c.Images.Select(img=>new CenterShopImage(img).ToList()
};