2010-10-26 5 views
0

Comment supprimer ma valeur dans la chaîne tableau et comment je peux réorganiserComment remplacer la valeur dans le tableau de chaîne

public string[] selNames = new string[5]; 
selNames[0]="AA"; 
selNames[1]="BB"; 
selNames[2]="CC"; 
selNames[3]="DD"; 
selNames[4]="EE"; 

Dans certains Conditaion je dois vérifier la valeur existante et je veux l'enlever de ma collection , Comment je peux le faire.

j'ai essayé comme ci-dessous, mais je ne peux pas, il retourne vrai, mais comment faire pour que la valeur d'index null

If(selNames .Contains("CC").ToString()==true) 

{ // comment faire pour que nul d'index qui contient le « CC "; et j'ai besoin de réarranger le tableau }

+1

Peut-on utiliser une autre structure de données au lieu d'un tableau, par exemple Dictionary <> http://bit.ly/9IhY4j ou HashSet <> http://bit.ly/c4GMUu? Il fournit les deux fonctionnalités (recherche rapide et suppression) par défaut. –

+1

@ Nick Martyshchenko: (+ 1) Je pense que les types 'Generic' sont plus flexibles à gérer. –

Répondre

2

Vous pouvez utiliser la « Liste < T> » pour vérifier les valeurs existantes et peut également supprimer l'élément de la liste et peut également organiser la liste. Voici l'extrait de code:

List<string> list = new List<string>(); 
list.Add("AA"); 
list.Add("BB"); 
list.Add("CC"); 
list.Add("DD"); 
list.Add("EE"); 
list.Add("FF"); 
list.Add("GG"); 
list.Add("HH"); 
list.Add("II"); 

MessageBox.Show(list.Count.ToString()); 
list.Remove("CC"); 
MessageBox.Show(list.Count.ToString()); 
+0

Ça sonne bien, je l'utilise au lieu de confondre avec des tableaux –

3

Vous pouvez faire ce qui suit.

var newArray = selNames.Where(s => s != "CC").ToArray(); 

où s est la arg du TSource délégué Func<TSource, bool> est une chaîne dans votre cas. Il comparera chaque chaîne dans le tableau et retourner tout ce qui est pas « СС »

ici est un link à msdn

+2

Ne serait-ce pas suffisant? var newArray = selNames.Where (s => s! = "CC"). ToArray(); –

+1

quoi de cette variable? –

+0

Oui, vous avez raison. Je vais le mettre à jour. – Danil

Questions connexes