IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

LastIndexOf dans ArrayList [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut LastIndexOf dans ArrayList
    Bonsoir à vous, j'ai besoin de votre aide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Imports System.Collections
    Module Module1
     
        Sub Main()
            Dim l As New ArrayList
            Dim i As Integer
            Dim t As Integer
            l.Add("Saladin")
            l.Add("Zebro")
            l.Add("Alain")
            l.Add("Ahmed")
            i = l.IndexOf("Ahmed")
            t = l.LastIndexOf("Ahmed")
            Console.WriteLine(l.Count.ToString) ' pas de problème: donne 4
            Console.WriteLine(i.ToString) ' pas de problème: donne 3
            Console.WriteLine(t.ToString) ' Problème: donne 3 !!
            Console.ReadKey()
     
        End Sub
     
    End Module
    Pourquoi t=3 ?
    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,

    Parce que z=1 ... , je plaisante.

    En gros, vous lui demandez : Donne moi le dernier index de "Ahmed". Dans la liste, le dernier "Ahmed" est à l'index 3 et il y est qu'une fois, donc il vous donne 3.

    Cordialement.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    IndexOf donne l'index - il utilise une base 0 (part de 0) - donc l.IndexOf("Ahmed") est le N°3
    LastIndex donne l'index du dernier élément nommé "Ahmed" - il utilise une base 0 (les indices commencent à 0, comme IndexOf) - donc le dernier élément nommé "Ahmed" est l'index N°3 (0,1,2,3)
    Il est donc normal que l.IndexOf("Ahmed") et l.LastIndexOf("Ahmed") aient la même valeur puisqu'ils représentent la première et dernière occurence du tableau nommé "Ahmed".

    Rajoute ces lignes à la suite des ajouts de la liste (count vaudra 6)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            l.Add("Zebro")
            l.Add("Saladin")
            Console.WriteLine(l.LastIndexOf("Zebro").ToString) ' donne 4 !!
    Le résultat vaudra 4 qui est l'index de la dernière occurence de "Zebro".
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Merci à vous, maintenant je comprends le principe.
    Moi j'avais compris que LastIndexOf == IndexOf mais compte à partir du dernier indice.
    Thanks

  5. #5
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Tiré du Tuto de Plassere
    Nom : lta4.jpg
Affichages : 127
Taille : 31,6 Ko

  6. #6
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    J'essaie de faire un exemple semblable à : i = l.IndexOf(3,"lulu")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Imports System.Collections
    Module Module1
     
        Sub Main()
            Dim l As New ArrayList
            l.Add("Jacques")
            l.Add("Zebro")
            l.Add("Alain")
            l.Add("Ahmed")
            l.Add("Zebro")
            l.Add("Saladin")
            l.Add("Ahmed")
            l.Add("Zebro")
            l.Add("Saladin")
            Console.WriteLine(l.IndexOf("Saladin").ToString) ' donne 5
            'Console.WriteLine(l.IndexOf(2, "Saladin").ToString) ' comme dans tuto, chez moi donne erreur
            Console.WriteLine(l.IndexOf("Saladin", 2).ToString) ' donne 5 !!
            Console.ReadKey()
     
        End Sub
     
    End Module
    Pourquoi Console.WriteLine(l.IndexOf("Saladin", 2).ToString) donne 5 alors que je cherche à partir du 2ème élément?
    Merci

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Parceque le premier saladin que l'on pourra trouver depuis l'indice 2 est celui de l'indice 5
    Pour trouver le suivant il faut donc démarre après cet indice. (du 6 ce qui donne 8)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Console.WriteLine(l.IndexOf("Saladin", 6).ToString) ' donne 8 !!
    Sans savoir ou est le premier et l'ignorer afin de trouver le deuxième
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Console.WriteLine(l.IndexOf("Saladin", l.IndexOf("Saladin") + 1).ToString) ' donne 8 !!
    l'indexOf le plus inclu donne 5 auquel on rajoute 1 et on refait la recherche pour le deuxième (ce qui donne 8)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Struts type dans arraylist
    Par maxf1 dans le forum Struts 1
    Réponses: 11
    Dernier message: 08/03/2007, 09h23
  2. inserer element a un index donné dans ArrayList
    Par japz dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/07/2006, 17h25
  3. Tri dans ArrayList ou tri SQL?
    Par Bartuk dans le forum JDBC
    Réponses: 4
    Dernier message: 22/03/2006, 23h21
  4. Réponses: 7
    Dernier message: 30/06/2005, 10h06
  5. [Fichier] Ajout des lignes de doc dans arraylist
    Par 3adoula dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 29/04/2004, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo