La liste de tableaux ci-dessous peut-elle être initialisée directement sans avoir besoin d'un tableau de chaînes aFileExt?
private static string[] aFileExt =
{"css", "gif", "htm", "html", "txt", "xml" };
private System.Collections.ArrayList alFileTypes =
new System.Collections.ArrayList(aFileExt);
La ligne ci-dessous est l'objectif, 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 n'ai donc pas accès aux types génériques.
C # 1 ou 2:
private static ArrayList alFileTypes =
new ArrayList(new string[] {"css","gif","htm","html","txt","xml"});
C # 3 utilisant un tableau typé implicitement:
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);
}
ensuite:
static ArrayList alFileTypes = CreateList("css","gif","htm","html","txt","xml");
Une raison pour laquelle vous n'utilisez pas les collections génériques, au fait?
Si vous utilisez .NET 2.0 ou supérieur, vous devez utiliser le générique List<T>
type (même si c'est List<object>
, qui vous donnerait les mêmes fonctionnalités que ArrayList
).
Si vous utilisez .NET 3.5 ou supérieur, vous pouvez utiliser cette syntaxe:
private static List<string> fileTypes = new List<string>()
{
"css","gif","htm","html","txt","xml"
};
Quoi qu'il en soit, cependant, si vous voulez vous en tenir à ArrayList
, vous pouvez simplement faire:
private static System.Collections.ArrayList alFileTypes =
new System.Collections.ArrayList(new object[] {"css","gif","htm","html","txt","xml"});
C # 3.0 avec un générique List<T>
, plutôt qu'un ArrayList
:
private static List<string> alFileTypes =
new List<string> {"css","gif","htm","html","txt","xml"};
Essayer
private static System.Collections.ArrayList alFileTypes = new System.Collections.ArrayList(){"css","gif","htm","html","txt","xml"};
private static System.Collections.ArrayList alFileTypes =
new System.Collections.ArrayList(new string [] {"css","gif","htm","html","txt","xml"});
oui, changez juste
private static System.Collections.ArrayList alFileTypes =
new System.Collections.ArrayList({"css","gif","htm","html","txt","xml"});
à
private static System.Collections.ArrayList alFileTypes =
new System.Collections.ArrayList(new string[] {"css","gif","htm","html","txt","xml"});