我正在拼命尝试使用Visual Studio C#中的一步 创建一个 ArrayList 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);
但我需要把它写成一行。你能帮帮我吗?
答案 0 :(得分:2)
您需要像数组一样的其他集合才能使用collection initializer:
var al = new ArrayList { new[] { class1.enum.sample1, class1.enum.sample2, class1.enum.sample3 } };
但是没有理由再使用旧的ArrayList
了。在这种情况下,您可以使用List<class1.enum>
(enum
是关键字除外)。
答案 1 :(得分:0)
对于数组列表初始值设定项,您不需要括号()
。您可以在一行中初始化,如下所示。
ArrayList test = new ArrayList{class1.enum.sample1, class1.enum.sample2, class1.enum.sample3}
除非您有充分的理由使用Arraylist,否则数组列表应替换为通用列表。您可以在Benefits of Generics on MSDN
中找到有关使用通用列表的更多信息