Vb.net Comment faire pour supprimer les doublons d'un Tableau?
Dim ItemList As New ArrayList()
For i = 0 To dgExtract.Items.Count - 1
gRow = dgExtract.Items(i)
chk = gRow.FindControl("chkSelect")
If chk.Checked Then
sEmail = gRow.Cells(7).Text
dim number as string = Regex.Replace(sEmail,"[^0-9]","")
if number.length = 11 then
ItemList.Add(number)
end if
end if
Next
J'ai créer le ItemList tableau avec le code ci-dessus. Comment puis-je supprimer tous les doublons dans ce tableau?
- Je ne voudrais pas utiliser une ArrayList jamais (bien, peut-être il y aurait une certaine situation étrange où je voudrais). Mieux vaut utiliser une List(Of String) dans ce cas.
- Malheureusement, parfois, nous sommes coincés soutenir l'héritage de code, c'est à dire .Net 1.1.
Vous devez vous connecter pour publier un commentaire.
Réglage:
Arriver:
Vous avais déclarer certaines tableau (ou une Liste, ou quelle que soit la collection, vous pouvez préférer) et ferait quelque chose comme:
Ensuite, vous pouvez utiliser LINQ:
Et puis, itérer le tableau et de faire tout ce dont vous avez besoin.
EDIT: quelle est la Meilleure Srinivasan__ a déclaré, vérifiez si l'élément existe, et si ce n'est pas l'ajouter. Pour vérifier cela, vous pouvez utiliser Exists(). Ou, si vous utilisez quelque chose comme une Liste, Contains().
Plutôt que de vérifier et de retrait de la dupliquer des éléments que vous pouvez vérifier si il est dans le tableau, si elle n'existe pas, vous pouvez l'ajouter à un tableau, sinon ne rien faire.
Déclarer un
List<string>
objet nommé par exemplelist
. Dans la boucle:Je viens de voir cela, j'ai essayé le code suivant ; il fonctionne très bien, je suis en utilisant une CheckedListBox pour afficher les résultats.
Il y a 2 liste de tableaux utilisés. 'Darray' la tenue de la liste originale de duplication des chaînes. Ensuite, "FinArray' pour vider les non dupliquée cordes, puis afficher le 'FinArray contenu dans la zone de liste:
Pourquoi ne pas vous comme ce