【发布时间】:2018-07-14 17:14:01
【问题描述】:
有什么办法可以做到这一点 - 这绝对是一种好奇心而不是必需品,基本上只是为了缩短书面代码......但它可能更容易在循环中添加构造函数变量......
代替:
public class item_holder
{
public item ITEM1 = new item();
public item ITEM2 = new item();
public List<item> myItems = new List<item>();
public item_holder()
{
myItems.Add(ITEM1);
myItems.Add(ITEM2);
}
}
我们可以有这样的东西吗?
public class item_holder
{
public item ITEM1;
public item ITEM2;
public List<item> myItems = new List<item>();
public item_holder()
{
myItems.Add(ITEM1);
myItems.Add(ITEM2);
foreach(item i in myItems)
{
i = new item();
}
}
}
【问题讨论】:
-
一开始为什么要在课堂上存储两次相同的
items? -
为什么
item_holder看起来是一个集合类,会暴露内部集合?集合对象也不需要临时变量。 Guidelines for Collections -
@UnholySheep 因为我希望它们具有可作为类外部属性访问的特定名称,并且还能够在循环中遍历它们以对它们执行操作
-
那么为什么不让他们properties呢?例如:
public item ITEM1 { get { return myItems[0]; } }?
标签: c#