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 :

[VB.Net 2.0] Comment passer de List<> en SortedList<> ? [Débutant(e)]


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut [VB.Net 2.0] Comment passer de List<> en SortedList<> ?
    J'ai beau retourner le problème dans tous les sens, impossible de transformer List (of pédigré) en sortedList(of Tkey,Tvalue).
    Quelle est la syntaxe pour préciser que Pédigré._nom est la clef à utiliser ?
    ou du moins qu'est-ce que je mets comme Tkey, Tvalue ?
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Imports System.Collections.Generic
    Imports System.SerializableAttribute
     
     
    <Serializable()> Public Class Pédigré
        Private _code As UShort                     ' code interne (2oct)
        Private _nom As String                       ' Nom 
        Private _année As UShort                    ' Année de naissance
        Private _sexeIsMale As Boolean            ' Sexe 
        Private _père As UShort                      ' code interne Père
        Private _mère As UShort                      ' code interne Mère
     
        Public Property code() As UShort
            Get
                Return _code
            End Get
            Set(ByVal value As UShort)
                _code = value
            End Set
        End Property
        Public Property nom() As String
            Get
                Return _nom
            End Get
            Set(ByVal value As String)
                _nom = value
            End Set
        End Property
        Public Property année() As UShort
            Get
                Return _année
            End Get
            Set(ByVal value As UShort)
                _année = value
            End Set
        End Property    
    End Class
    <Serializable()> Public Class ColPédigré
        Inherits List(of Pédigré)
    End Class
    Merci d'avance


    PS : Je débute... désolé si ma question vous fait sourire

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Peut-être ainsi :
    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
     
     
    //...
     
    <Serializable()> _
    Public Class PedigreeList
        Inherits List(of Pedigree)
        //...
    End Class
     
    <Serializable()> _
    Public Class PedigreeSortedList
        Inherits SortedList(of String, Pedigree)
     
        Public Sub New(ByVal liste As PedigreeList)
           For Each item As Pedigree in liste
              MyBase.Add(item.nom, item)
           Next
        End Sub
    End Class
    Avertissement: il faut que tu sois sûr que le nom est unique sinon mon code lèvera cartainement une exception
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    (en même temps, faire deux classes vides juste pour un foreach d'une ligne, c'est peut-être *un peu* exagéré :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Maniak
    (en même temps, faire deux classes vides juste pour un foreach d'une ligne, c'est peut-être *un peu* exagéré
    oui jme suis contenter de répondre bêtement à la question sans cherche à savoir le reste de son implémentation.

    Sinon en effet on peut faire directement aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // ...
     
    <Serializable()> _
    Public Class PedigreeSortedList
        Inherits SortedList(Of String, Pedigree)
     
        Public Overrides Sub Add(ByVal p As Pedigree)
           MyBase.Add(p.nom, p)
        End Sub
    End Class
     
    //...
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    Je viens un peu tardivement vous remercier de vos réponses...
    Mais j'ai fouillé un peu partout et relu certains tuto pour maitriser un peu mieux. j'ai aussi pris un peu de vacances.
    J'ai donc un peu avancé dans mon projet et continue à découvrir les outils fabuleux à notre disposition pour développer aujourd'hui. Je developpai professionnellement dans les années 80.. d'ou le décalage avec les outils d'aujourd'hui. Entre la POO et l'assembleur que nous utilisions, les RAM de 2 Go et les 64 ko que se partageait les appli de gestion... il y a un monde.
    Merci encore.
    Pascal

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2013, 14h45
  2. Comment passer des listes à SQLITE
    Par Jiyuu dans le forum Bibliothèques tierces
    Réponses: 6
    Dernier message: 20/06/2009, 07h50
  3. [VB.Net 2.0] Comment passer en paramètre un TableAdapter ?
    Par Thierryx dans le forum Accès aux données
    Réponses: 1
    Dernier message: 25/08/2006, 15h27
  4. Réponses: 1
    Dernier message: 08/03/2006, 20h06
  5. Réponses: 3
    Dernier message: 28/02/2006, 08h43

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