List Generics 2 [Résolu]

Messages postés
208
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
- - Dernière réponse : cs_JLuc01
Messages postés
208
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
- 13 févr. 2012 à 19:49
Bonjour,

Me revoila avec les Generics que j'essaye de comprendre.
L'exemple utilise jusqu'a maintenant est le suivant:
Public Class Form1
    Private myDataList As New List(Of myDataObject)
' ... code ...

Public Class myDataObject
    Public Data1 As Integer
    Public Data2 As String
    Public Data3 As String

    Public Sub New(ByVal m_Data1 As Integer, ByVal m_Data2 As String, ByVal m_Data3 As String)
        Data1 = m_Data1
        Data2 = m_Data2
        Data3 = m_Data3
    End Sub

End Class

Bon, j'arrive a ajouter des lignes dans ma List et maintenant grace au forum a en enlever.

Mon probleme maintenant est de changer la ligne ou une partie de la ligne. Les methodes Find/FindAll sont peut-etre la solution, mais je n'y arrive pas pour l'instant.

Par exemple, si ma list contient:
[b]1 StringA String1
2 StringB String1
4 StringC String2
5 StringD String4/b
Comment changer en:
[b]1 StringA String1
2 StringB String2
3 StringC String3
4 StringD String4/b

En, d'autre termes, comment acceder a une variable bien precise (Integer, String...)?

Peut-etre que je n'utilise pas le bon outil pour atteindre mon objectif.

Mon but etant de sauver une List ("manipulable") de donnees variables (Integer, String ou autres), pour pouvoir la reutiliser (Et sauver plus tard ces donnees en XML), en esperant avoir ete clair... Manipuler dans le cas present veux dire changer une ligne ou un element de la ligne.

En tout cas, manier les generics n'est certainement pas tres facile pour moi.

Les conseils sont les bienvenus.
Merci,

JLuc01
Afficher la suite 

3 réponses

Meilleure réponse
3
Merci
Bonsoir,

Ton exemple est très vague. Tu peux utiliser une simple boucle For Each
for each element as mydataobject in mydatalist
   if element.data3 = "string1" then ....
next

En ce qui concerne le xml, jette un coup d'oeil sur la serialisation (XML.Serialization).

Bonne nuit.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
208
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
0
Merci
Bonsoir,

Pour le XML, je crois savoir plus ou moins comment faire.
Pour la List, en effet, cela parait assez simple.
Mais comme j'ai la creve, je regarderais tout ca demain soir.
Je vous tiens au courant.
Bonne nuit,

JLuc01
Commenter la réponse de cs_JLuc01
Messages postés
208
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
0
Merci
Bonsoir,

Merci a Banana32, c'est bon je crois avoir compris le principe (en fait pas si complique). Ce code resemble un peu a ce qu'on utilise pour LINQ.
Par exemple, ce code (utilise comme test) marche tres bien:
' STEP5: Re-indexing
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        myNumber = 0
        myDataList.ForEach(AddressOf reindexingObjectInListBox)
End Sub

Private Sub reindexingObjectInListBox(ByVal t As myDataObject)
        ' myListBox
        myNumber = myNumber + 1
        myListBox.Items.Add(myNumber & " " & t.Data2)
        ' myDataList
        Dim i As Integer
        For Each element As myDataObject In myDataList
            i = i + 1
            element.Data1 = i
            If element.Data2 "StringD" Then element.Data2 "XXX"
        Next
End Sub


Encore merci, je vais pouvoir continuer.

A+
JLuc01
Commenter la réponse de cs_JLuc01