我想将List传递给方法,但我只希望它包含1个项目。如何在创建它时自动将项添加到列表中?
是否有可能为我做到这一点类似于
MyType myType = new MyType();
MyMethod(new List<MyType>{ myType }); // somehow add myType to the list as I'm creating it
我想将List传递给方法,但我只希望它包含1个项目。如何在创建它时自动将项添加到列表中?
是否有可能为我做到这一点类似于
MyType myType = new MyType();
MyMethod(new List<MyType>{ myType }); // somehow add myType to the list as I'm creating it
我错了,简单的答案是没有的例子,因为它被张贴失踪括号。肯定还有其他一些错字,因为所有的时候我测试了它的工作下列:
MyType myType = new MyType();
MyMethod(new List<MyType>{ myType });
MyMethod(new List<MyType>{ new MyType(), new MyType() });
MyMethod(new List<MyType>{ new MyType() });
======================== 简答:你错过了括号。
MyType myType = new MyType();
MyMethod(new List<MyType>(){ myType });
,或者如果你不需要命名的的myType变量超出周围插入(例如,它只会从列表中使用)
MyMethod(new List<MyType>(){ new MyType(), new MyType() });
注意正上方的示例中插入的两个项目名单。我用这种方式写出来显示多个作品。如果你只是想一个你在你的问题表明那么这就是你应该使用什么:
MyMethod(new List<MyType>(){ new MyType() });
他们不需要,所以他的代码应该工作。 – 2010-04-24 09:31:44
我想我从来没有尝试过没有括号之前。 – Felan 2010-04-24 15:12:48
你错过了括号。这应该工作。
MyMethod(new List<MyType>() { myType });
实际上并不需要方括号,所以他的代码应该完美工作。 – 2010-04-24 09:30:25
这些只是对象/集合初始值设定项,正如指出的那样。一个建议是,在你使用内联对象定义疯狂之前,安装并鞠躬致神StyleCop寻求写可读/可持续代码的建议。它帮助我的同事不杀我。
是的,为什么不。或者它会抛出一些异常? – 2010-04-24 09:11:20