maf*_*afu 2 c# java initialization class anonymous-class
在Java中,我喜欢使用诸如的结构
List<String> list = new ArrayList<String>() {{add("foo");}};
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#的1行中做到这一点呢?
这称为集合初始化程序,它是C#3.0的一部分.
除了列表之外,您还可以初始化更复杂类型的集合,只要它们实现IEnumerable并且对集合初始值设定项中的每个元素都有适当的Add方法.例如,您可以使用如下Add(key, value)方法Dictionary<TKey, TValue>:
var dict = new Dictionary<string, int>
{
{"first", 10 },
{"second", 20 }
};
Run Code Online (Sandbox Code Playgroud)
更多细节可以在C#in Depth的第8章找到,可以从Manning的网站免费下载.
我想你想要的是一个数组初始化器
List<string> list = new List<string>() { "foo" };
Run Code Online (Sandbox Code Playgroud)
多个项目应以逗号分隔
List<string> list = new List<string>() { "foo","bar","bas"};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2714 次 |
| 最近记录: |