2010-06-08 4 views
0

est-il possible d'initialiser le tableau de chaînes dynamiques.Pouvons-nous initialiser le tableau de chaînes dynamiques?


public class CXmlFileHook 
    { 
     string vAppname; 
     string vClassname; 
     string vIdmark; 
     string vExecname; 
     string [] vApiName; 
     string vCtor;

public CXmlFileHook() 
    { 
     this.vAppname = "Not Set"; 
     this.vIdmark = "Not Set"; 
     this.vClassname = "Not Set"; 
     this.vExecname = "Not Set"; 
     this.vApiName = new string[9] { "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set" ,"Not Set"}; 

     this.vCtor = "CXmlFileHook()"; 

    } 

maintenant je veux la taille de la chaîne augmente de façon dynamique et devrait selon la taille initialisées elle-même est-il possible ????

+0

Votre question n'est pas claire - veuillez donner plus de détails. Aussi, pourquoi l'avez-vous fait wiki communautaire? –

+0

Qu'est-ce qu'un tableau de chaînes dynamique? 'Liste '? –

Répondre

2

Toujours pas sûr de ce que vous avez réellement besoin de savoir, alors voici quelques réponses à choisir :-)

tableaux en C# ne peut pas changer ses longueurs. Utilisez une classe de collection si vous avez besoin de collections dynamiques, par exemple. List<T>.

A List<T> peuvent être initialisés en utilisant la même syntaxe:

this.vApiName = new List<string> 
    { 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set" 
    }; 

Si la longueur du tableau ne change pas lors de l'exécution, vous pouvez l'utiliser. Vous n'avez pas besoin de spécifier la longueur du tableau lorsque vous le déclarez et l'initialisez en même temps. La longueur est déterminée par le compilateur (il est encore à l'exécution constante):

this.vApiName = new string[] // <= no array-length, set to 9 by compiler 
    { 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set" 
    }; 

Vous n'avez pas besoin d'initialiser les valeurs par défaut, si vous voulez juste initialiser avec nulls (Voir this link).

this.vApiName = new string[9]; // array containing 9 x null 
Questions connexes