【发布时间】:2013-04-16 06:43:26
【问题描述】:
我想将我的所有对象动态添加到列表中,而无需任何硬编码。
代码:
static void Main(string[] args)
{
Item objA = new Item();
Item objB = new Item();
int count = Item.getCount();// count = 2
List<Item> cont1 = new List<Item>();
while (count > 0)
{
for (int i = 0; i < count; i++)
{
cont1.Add();
//I missing an instance to get the objA and objB into cont1
//I dont want hard code it, e.g: cont1.Add(objA).
}
}
}
【问题讨论】:
-
删除两行
Item objX = new Item();', remove WHILE loop completely, leave just FOR loop and change the FOR's body tocont1.Add(new Item());` -
@SonerGönül:他不想这样做可能是因为它会添加同一个对象 N 次,而 "objA, objB" 表明他想要几个不同的对象
-
不太明白这个问题...您想要的动态列表中的对象在哪里?
-
意思是,如果是静态的并且如果我有 objA、objB、objC 直到 objZ,我必须输入 cont1.Add(objA) 直到 cont1.Add(objZ)...我想使用 for 循环将它们添加到 list
中,而无需对其进行硬编码。顺便说一句,我的问题让你们感到困惑吗?为什么这么多 - 我的问题投票? -
因为您的问题非常混乱,虽然我们可以猜测您的想法 - 我们不应该这样做。您的问题中有很多模糊的小细节。例如:您写了“Main(){ Item objA=new Item() ..}”,现在您说“静态”。您的代码示例中的“objA、objB”变量不是静态的。他们是本地人。或者,您有“new Item()、new Item()”和带有注释“//count==2”的“Item.getCount()”。这种方法实际上是什么以及如何计算?我们可以猜测,但你应该说出来。然后,在 For 循环中,您有注释:“要获取的实例” - 我们可以再次猜测..