【问题标题】:Create ArrayList in one step一步创建ArrayList
【发布时间】:2015-06-03 08:28:58
【问题描述】:

我正拼命地尝试创建一个 ArrayList 出枚举的对象一步C# 与 Visual Studio 2012 年。 它应该类似于以下内容:

new ArrayList( {class1.enum.sample1, class1.enum.sample2, class1.enum.sample3} );

当我用两行写它时,它可以工作:

class1.enum[] array = {class1.enum.sample1, class1.enum.sample2, class1.enum.sample3};
ArrayList test = new ArrayList(ha);

但我需要将它写在一行中。你能帮帮我吗?

【问题讨论】:

  • 为什么要这样做?为什么不直接使用枚举?
  • 变量ha是什么?
  • @AliUmair:也许列表应该只存储所有枚举值的一部分。

标签: c# arrays visual-studio arraylist enums


【解决方案1】:

您需要另一个集合(如数组)才能使用collection initializer

var al = new ArrayList { new[] { class1.enum.sample1, class1.enum.sample2, class1.enum.sample3 } };

但是没有理由再使用旧的ArrayList。在这种情况下,您可以使用List<class1.enum>(除了enum 是关键字)。

【讨论】:

    【解决方案2】:

    对于数组列表初始化程序,您不需要括号 ()。您可以在一行中进行初始化,如下所示。

    ArrayList test = new ArrayList{class1.enum.sample1, class1.enum.sample2, class1.enum.sample3} 
    

    除非您有充分的理由使用 Arraylist,否则应将数组列表替换为通用列表。你可以在Benefits of Generics on MSDN中找到更多关于使用通用列表的信息

    【讨论】:

      猜你喜欢
      • 2011-10-08
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 2013-04-23
      相关资源
      最近更新 更多