VB.NET - Comment créer une Lamda d'une variable Arraylist vers String ? [Résolu]

Signaler
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
-
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
-
Bonjour,

comment créer une expression Lamda de la variable myFilters qui concaténerait ses entrées pour myBrowse.Filter ?.

    Function ParcourirUnFichier() As String
        Dim myBrowse As OpenFileDialog = New OpenFileDialog
        Dim myFilters As New ArrayList

        myBrowse.Title = "Ajouter un fichier..."
        myFilters.Add("Tous les fichiers (*.*)|*.*")
        myFilters.Add("Executables (*.exe)|*.exe")
        myFilters.Add("Dynamic Link Library (*.dll)|*.dll")
        'LAMDA ? myBrowse.Filter = myFilters.ToArray.ToLookup(Sub() myFilters.Item) ?
        myBrowse.Filter = myFilters.ToArray
        myBrowse.FilterIndex = 1
        myBrowse.RestoreDirectory = True
        If myBrowse.ShowDialog() <> DialogResult.OK Then
            myFilters = Nothing
            Return Nothing
        Else
            myFilters = Nothing
            Return myBrowse.FileName
        End If
    End Function

2 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

Changes un peu la déclaration :
Dim myFilters As New List(Of String)


Ensuite pour concaténer le tout :
MaVar=String.Join(myFilters.ToArray,"|"c)

Mon site
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
4
Merci Henry !
Que ton code soi en paix ^^

    Function ParcourirUnFichier() As String
        Dim myBrowse As OpenFileDialog = New OpenFileDialog
        Dim myFilters As New List(Of String)

        myBrowse.Title = "Ajouter un fichier..."
        myFilters.Add("Tous les fichiers (*.*)|*.*|" & ControlChars.Tab)
        myFilters.Add("Executables (*.exe)|*.exe|" & ControlChars.Tab)
        myFilters.Add("Dynamic Link Library (*.dll)|*.dll")
        myBrowse.Filter = String.Join(ControlChars.Tab, myFilters)
        myBrowse.Filter = myBrowse.Filter.Replace(ControlChars.Tab, "")
        myBrowse.FilterIndex = 1
        myBrowse.RestoreDirectory = True
        If myBrowse.ShowDialog() <> DialogResult.OK Then
            myFilters = Nothing
            Return Nothing
        Else
            myFilters = Nothing
            Return myBrowse.FileName
        End If
    End Function