Initialiser ArrayList avec un littéral constant

Est-ce que ArrayList ci-dessous peut être initialisé directement sans avoir besoin d’un tableau de chaînes FileExt?

private static ssortingng[] aFileExt = {"css", "gif", "htm", "html", "txt", "xml" }; private System.Collections.ArrayList alFileTypes = new System.Collections.ArrayList(aFileExt); 

La ligne ci-dessous est l’objective, mais mon compilateur .Net ne l’aime pas:

 private static System.Collections.ArrayList alFileTypes = new System.Collections.ArrayList({"css","gif","htm","html","txt","xml"}); 

J’utilise le .net Micro Framework et je n’ai donc pas access aux types génériques.

C # 1 ou 2:

 private static ArrayList alFileTypes = new ArrayList(new ssortingng[] {"css","gif","htm","html","txt","xml"}); 

C # 3 en utilisant un tableau implicitement typé:

 private static ArrayList alFileTypes = new ArrayList(new[] {"css","gif","htm","html","txt","xml"}); 

C # 3 en utilisant un initialiseur de collection:

 private static ArrayList alFileTypes = new ArrayList{"css","gif","htm","html","txt","xml"}; 

Ou créez votre propre méthode d’assistance:

 public static ArrayList CreateList(params object[] items) { return new ArrayList(items); } 

puis:

 static ArrayList alFileTypes = CreateList("css","gif","htm","html","txt","xml"); 

Une raison pour laquelle vous n’utilisez pas les collections génériques, btw?

Si vous utilisez .NET 2.0 ou une version ultérieure, vous devez utiliser le type List générique (même si c’est List , ce qui vous donnerait les mêmes fonctionnalités que ArrayList ).

Si vous utilisez .NET 3.5 ou une version supérieure, vous pouvez utiliser cette syntaxe:

 private static List fileTypes = new List() { "css","gif","htm","html","txt","xml" }; 

Quoi qu’il en soit, si vous souhaitez conserver ArrayList , vous pouvez simplement:

 private static System.Collections.ArrayList alFileTypes = new System.Collections.ArrayList(new object[] {"css","gif","htm","html","txt","xml"}); 

C # 3.0 avec une List générique List , plutôt qu’une liste ArrayList :

 private static List alFileTypes = new List {"css","gif","htm","html","txt","xml"};