8

这似乎是一个简单的问题,但对我来说不是,搜索也一无所获。到目前为止,我所做的唯一 .net 编程是使用 Delphi Prism。使用 Prism,我可以执行以下操作:

var l := new List<String>(['A','B','C']);

或者

var l := new List<String>;
l.AddRange(['A','B','C'];

但我可以在 C# 中做类似的事情吗,还是必须这样做:

var a = new String[] {"A","B","C"};
var l = new List<String>(a);
4

4 回答 4

25
 var l=new List<String>() {"A","B","C"};  

这会起作用

于 2010-03-26T06:37:42.527 回答
4

集合初始化器:

var list = new List<string>
{
    "A",
    "B",
    "C"
};

或正确的ctor(与集合初始化程序混合):

var list = new List<string>(new [] { "A", "B", "C" });
  • 用于 ctor 信息的msdn
  • 集合初始化器的msdn
于 2010-03-26T06:36:16.717 回答
1

您可以使用Collection Initializers来获得所需的结果。

于 2010-03-26T06:36:26.653 回答
0

如上所述,使用集合初始化器。此外,如果您希望从 string[] 转换为 List ,您可以使用 System.Linq 命名空间中的 ToList() 扩展方法,如下所示:

string[] s = { "3", "4", "4"};
List<string> z = s.ToList();
于 2010-03-26T07:15:07.023 回答