【问题标题】:Efficiently adding multiple items to a list/collection after creation VB.net without an add line for each item创建VB.net后有效地将多个项目添加到列表/集合中,而无需为每个项目添加行
【发布时间】:2017-12-21 02:59:08
【问题描述】:

我想创建后将多个项目添加到创建的列表中,而不为每个项目添加 .add 行或使用 for 循环进行循环。

如果我想在创建时设置示例:

Dim list As New List(Of String) From { "string1", "string2", "string3" }

如果我为每个项目使用 .add 行的示例:

Dim list As New List(Of String)
list. Add("string1")
list. Add("string2")
list. Add("string2")

我想要实现的示例:

Dim list As New List(Of String)
list. Add({ "string1", "string2", "string3" })

Dim list As New List(Of String)
list. Add FROM { "string1", "string2", "string3" }

如果这不可行,请告诉我。

提前致谢!

【问题讨论】:

  • AddRange 方法是您想要的。您可以通过阅读 List(Of T) 类的文档发现这一点。总是先阅读文档。

标签: vb.net list


【解决方案1】:

试试这个:

Dim list As New List(Of String) From { "string1", "string2", "string3" }

这里有一些documentation on Collection Initializers

它比现有答案更好,因为现有答案创建了一个具有自己独立内存的实际数组,然后将该数组添加到列表中。循环仍然存在,只是被AddRange() 方法隐藏了。这个集合初始化语法也只是隐藏了循环,但至少保存了额外的数组对象。

【讨论】:

    【解决方案2】:

    感谢 jmcilhinney 在 cmets 中的回答!

    重申,这可以使用list.AddRange方法实现

    例子:

    Dim list As New List(Of String)
    list.AddRange({ "string1", "string2", "string3" })
    

    我同意,我应该更好地搜索文档,但现在这对于 google 搜索器来说将永远存在!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多