启动集合在C#和Java类似的匿名类的语法

问题描述:

在Java中,我们可以按照如下启动集合在C#和Java类似的匿名类的语法

public static final List<HashMap<String,String>> data 
= new ArrayList<HashMap<String,String>>(){ 
{ 
add(
    new HashMap<String, String>() 
    {{ 
     put("name", "My Name"); 
     put("alias", "My Name"); 
    }} 
); 
}; 

我们可以做同样的在C#中初始化一个ArrayList和HashMap匿名类声明的语法?在最新的Windows 10编程?

集合初始化也是C#的一个功能。在C#4.0中启动集合的语法与您所展示的类似。

private static List<Dictionary<string, string>> data = 
    new List<Dictionary<string,string>>() 
    { 

     new Dictionary<string, string>() 
      { 
       { "name", "My Name" }, 
       {"alias", "My Name" } 
      }, 
     new Dictionary<string, string>() 
      { 
       { "name2", "My Name2" }, 
       {"alias2", "My Name2" } 
      } 
    }; 

欲了解更多信息,请查阅feature's documentation。 (Click here为特定于C#4.0/Visual Studio 2010的文档)。

+1

使用集合和对象初始值设定项时您可以省略括号,并且不将参数传递给构造函数。使语法更简洁一些。 – mason

+0

@mason我会说这是相当模糊的 –