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 :

Compter le nombre d'élements de type spécifié dans un List(Of <Class>)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 46
    Par défaut Compter le nombre d'élements de type spécifié dans un List(Of <Class>)
    Bonjour,
    Je développe une petite application vb.net en objet. Pour ne pas m'étaler je vais faire simple:
    J'ai une class mère CompteBase et ses deux héritières CompteBase.CompteCheque et CompteBase.CompteDormant.

    J'ai une variable vComptes as List (Of CompteBase), dedans j'y met à la fois des CompteCheque et des CompteDormant (ma class mère est MustInherit).
    Je peux compter le nombre de comptes en tout dans vComptes avec vComptes.Count.
    Jusque là, tout va bien.

    Mon problème: Je cherche à compter le nombre de CompteCheque ou de CompteDormant séparément dans vComptes, càd faire une sorte de vComptes.count(CompteBase.CompteCheque).
    Je me demande si c'est possible nativement, je ne trouve pas dans la liste des méthode de la collection List (Of < Class >).


    Admettons dans vComptes j'ai 3 comptes chèques et 2 comptes dormants, j'aimerais savoir s'il est possible d'avoir ces nombres dans parcourir manuellement tous les comptes.

    Merci.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vComptes.OfType(Of teltype).Count
    c'est ca que tu cherches ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ce que tu fournies c'est le nombre d'éléments du type de classe rechercher. Il va falloir décrémenter de 1 comme suit pour avoir le bon index :

    Code VB.net : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim index = vComptes.OfType(Of teltype).Count -1

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    certes son titre parle d'index, mais dans sa description je comprends qu'il cherche le count
    et s'il cherche l'index dans la collection de base, .oftype.count -1 n'est pas la solution, il suffit de faire une boucle avec un typeof et de garder l'index
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 46
    Par défaut
    Oui, excusez moi, j'ai retitré, c'est bien le nombre d'éléments que je cherche à avoir.

    La solution donné ne fonctionne pas du tout sous VS10, j'ai essayé rapidement plusieurs moyen de l'écrire mais il m'affiche que
    OfType n'est pas un membre de List(of )
    La solution de Pol63 de compter dans une boucle est celle que je pensais utiliser, je me demandais surtout s'il existait une raccourci inclus aux méthodes de List (Of ).
    Je vais faire une boucle, ne vous cassez pas la tête (à moins que vous ayez la solution).

    Je vous remercie en tout cas

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    ce n'est pas vraiment une question de vs2010, mais une question de framework ciblé
    OfType est dispo depuis le framework 3 ou 3.5, si tu es sur le fx2 forcément ca n'est pas disponible

    et OfType fait juste une boucle et un typeof de toute façon
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/05/2015, 23h17
  2. Compter le nombre d'occurences d'un mot dans un texte
    Par AlexandraS dans le forum Langage
    Réponses: 13
    Dernier message: 26/03/2008, 09h12
  3. Réponses: 8
    Dernier message: 15/02/2008, 21h53
  4. Réponses: 4
    Dernier message: 04/06/2007, 14h12
  5. Réponses: 8
    Dernier message: 18/01/2005, 10h58

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