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] Join d'un Array list de string?


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Par défaut [VB.net] Join d'un Array list de string?
    hello,

    j'ai un array list que je remlie uniquement de string, à la fin je voudrais utiliser Join avec, mais j'ai une exception "Le cast specifié n'est pas valide"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim sTab As String
    Dim sList As ArrayList
    sList = New ArrayList
     
    '..
     
    sTab = String.Join(", ", CType(sList.ToArray(), String()))
    Help

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut
    La syntax est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sTab = String.Join(", ", (DirectCast(sList.ToArray(GetType(String)), String())))
    @+

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim a As Array= sList.ToArray(GetType(String))
    sTab = String.Join(", ", Ctype(a, String()))

  4. #4
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut
    C'est exactement la meme chose non :
    C'est peut etre un peu plus clair, certe

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par graphicsxp
    C'est exactement la meme chose non :
    C'est peut etre un peu plus clair, certe
    Non c'est bien la même chose en remplaçant simplement DirectCast par Ctype t'es le meilleur mon graphicsxp

  6. #6
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut
    Non c'est bien la même chose en remplaçant simplement DirectCast par Ctype t'es le meilleur mon graphicsxp
    Lol... d'ailleurs sur ce point il me semble que directcast est plus rapide que ctype, à vérifier.

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par MSDN
    Le mot clé DirectCast introduit une opération de conversion de type. Vous l'utilisez de la même façon que le mot clé CType, comme l'illustre l'exemple suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim Q As Object = 2.37   ' Requires Option Strict to be Off.
    Dim I As Integer = CType(Q, Integer)   ' Succeeds.
    Dim J As Integer = DirectCast(Q, Integer)   ' Fails.
    Ces deux mots clés acceptent une expression à convertir en tant que premier argument, et le type dans lequel l'expression est convertie en tant que second argument. Ces deux conversions échouent si aucune conversion n'est définie entre le type de données de l'expression et le type de données spécifié en tant que second argument.

    La différence entre les deux mots clés est que CType réussit tant qu'une conversion valide est définie entre l'expression et le type, tandis que DirectCast nécessite que le type d'exécution d'une variable objet soit identique au type spécifié. Si le type spécifié et le type d'exécution de l'expression sont identiques, les performances d'exécution de DirectCast sont meilleures que celles de CType.

    Dans l'exemple précédent, le type d'exécution de Q est Double. CType réussit car Double peut être converti en Integer, mais DirectCast échoue car le type d'exécution de Q n'est pas encore Integer.

    DirectCast lève une erreur InvalidCastException si les types d'argument ne correspondent pas.

  8. #8
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut
    Ha voilà. Merci pour la précision

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Par défaut
    merci çà marche

    Au passage çà ma fait decouvrir DirectCast.

    P.S.: sal*perie de language, en c# j'aurrais déjà finis! Je m'y ferais jammais.

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 11/01/2013, 04h30
  2. Réponses: 1
    Dernier message: 01/12/2012, 14h15
  3. Réponses: 4
    Dernier message: 11/04/2006, 14h40
  4. [VB.NET] Comment remplir un Array
    Par Immobilis dans le forum ASP.NET
    Réponses: 6
    Dernier message: 10/11/2005, 23h49
  5. Vertex Array & Listes d'Affichage ...
    Par yagero dans le forum OpenGL
    Réponses: 3
    Dernier message: 18/09/2005, 18h32

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