我有一个名为product
的对象和一个名为products
的对象。
class product
{
public int Id { get; set; }
public string Name { get; set; }
}
class products
{
public List<product> product { get; set; }
}
在对象products
属性product
中,我想存储多个产品。我是如何在小型原型解决方案中完成的:
static void Main(string[] args)
{
products productlist = new products();
List<product> listofproduct = new List<product>();
for (int i = 0; i < 10; i++)
{
product p = new product();
p.Id = i;
p.Name = "product with id = " + i.ToString();
listofproduct.Add(p);
}
productlist.product = listofproduct;
foreach (product prod in productlist.product)
{
Console.WriteLine(prod.Name);
}
Console.ReadKey();
}
}
这是解决这个问题的好方法吗?或者你在面向对象编程中以另一种方式做到了吗?
答案 0 :(得分:1)
struct Product
{
public int Id { get; set; }
public string Name { get; set; }
public Product(int id, string name)
{
this.Id=id;
this.Name=name;
}
public void WriteInfo()
{
Console.WriteLine("Id: {0}, Id);
Console WriteLine("Name: {0}", Name)
}
}
static void Main(string[] args)
{
var productList=new LinkedList<Product>;
productList.AddLast(new Product(1,Apple));
productList.AddLast(new Product(2,Banana));
foreach(var product in productList)
{
product.WriteInfo()
}
}
答案 1 :(得分:1)
如果您不想使用LINQ
并保留当前结构,可以消除在循环中创建完整实例的需要,并且需要{{1} }。
listofproduct
但是,编写代码的最佳做法应该是:
对我来说,维护和理解此代码的最简单方法是什么?
因此,如果您在问题中编写代码的方式使您感到舒适,那么请务必执行此操作。但是, 强烈 建议您遵循MSDN为Capitalization Conventions制定的约定。