如何轻松地初始化元组列表?

我爱元组。它们使您可以快速将相关信息分组在一起,而不必为其编写结构或类。在重构非常本地化的代码时,这非常有用。

但是,初始化它们的列表似乎有点多余。

var tupleList = new List<Tuple<int, string>>

{

Tuple.Create( 1, "cow" ),

Tuple.Create( 5, "chickens" ),

Tuple.Create( 1, "airplane" )

};

有没有更好的方法?我希望有一个类似于Dictionary Initializer的解决方案。

Dictionary<int, string> students = new Dictionary<int, string>()

{

{ 111, "bleh" },

{ 112, "bloeh" },

{ 113, "blah" }

};

我们不能使用类似的语法吗?

回答:

c#7.0允许您执行以下操作:

  var tupleList = new List<(int, string)>

{

(1, "cow"),

(5, "chickens"),

(1, "airplane")

};

如果您不需要List,而只需要一个数组,则可以执行以下操作:

  var tupleList = new(int, string)[]

{

(1, "cow"),

(5, "chickens"),

(1, "airplane")

};

如果您不喜欢“ Item1”和“ Item2”,则可以执行以下操作:

  var tupleList = new List<(int Index, string Name)>

{

(1, "cow"),

(5, "chickens"),

(1, "airplane")

};

或数组:

  var tupleList = new (int Index, string Name)[]

{

(1, "cow"),

(5, "chickens"),

(1, "airplane")

};

它可以让你做的事:tupleList[0].IndextupleList[0].Name

您必须System.ValueTuple从Nuget软件包管理器进行安装。

它内置在框架中。不要 安装System.ValueTuple。事实上,将其删除 从bin目录中删除。

注意:在现实生活中,我将无法在牛,鸡或飞机之间进行选择。 我真的会被撕成碎片。

以上是 如何轻松地初始化元组列表? 的全部内容, 来源链接: utcz.com/qa/405898.html

回到顶部