Frage

unterhalb der Arraylist direkt für aFileExt String-Array ohne die Notwendigkeit initialisiert werden?

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

In der Zeile darunter ist das Ziel, aber mein .NET Compiler nicht, wie es:

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

Ich bin das .NET Micro Framework und haben somit keinen Zugriff auf generische Typen.

War es hilfreich?

Lösung

C # 1 oder 2:

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

C # 3 eine implizit typisierte Array mit:

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

C # 3 mit einer Auflistungsinitialisierer:

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

oder Ihre eigene Hilfsmethode erstellen:

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

dann:

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

Gibt es Gründe, warum Sie nicht die generischen Auflistungen verwenden, btw?

Andere Tipps

Wenn Sie .NET 2.0 oder höher verwenden, sollten Sie die generische List<T> Typ sein, mit (auch wenn es List<object>, mit dem Sie die gleiche Funktionalität wie ArrayList gegeben hätte).

Wenn Sie .NET 3.5 oder höher verwenden, können Sie diese Syntax verwenden:

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

So oder so, aber wenn Sie mit ArrayList haften möchten, können Sie einfach tun:

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

C # 3.0 mit einem allgemeinen List<T>, anstatt einer ArrayList:

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

Versuchen

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

Ja, nur ändern

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"});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top