Partage
  • Partager sur Facebook
  • Partager sur Twitter

mettre chaine de caractere dans un tab

Sujet résolu
    10 juillet 2011 à 2:51:59

    salut!
    j ai une chaine="khdkhs" je desire la mettre dans un tableau telque
    tab(0) =k
    tab(1) =h
    .
    .
    .
    avez vous une idee?
    • Partager sur Facebook
    • Partager sur Twitter
      10 juillet 2011 à 10:38:34

      En .NET, comme en C ou C++ d'ailleurs, les chaines de caractères sont ni plus ni moins que des tableaux de caractères :

      String myChain = "Hello";
      char firstChar = myChain[0]; //Contiendra le caractère 'H'
      
      • Partager sur Facebook
      • Partager sur Twitter
        10 juillet 2011 à 12:49:04

        merci pour votre interet
        j ai essayé de faire un pti exemple mé cela ne marche pas
        Module Module1
        
            Sub Main()
                Dim s As String
                s = "101010"
                Console.ReadLine(s(1)) ' une erreur se signal au niveau de s(1)
            End Sub
        
        End Module
        


        par contre j ai fait ceci, malgré que c'est un peu lourd,

        dim cmp as integer = 0
        dim s as string = "1102101"
        for each caractere in s
        cmp= cmp +1 ' pour savoir la taille de tableau que je dois creer
        Next
           Dim tab(cmp) As Integer
             
        For i As Integer = 0 To tab.Length - 1
                    tab(i) = Left(s, 1)
                    s = Right(s, tab.Length - (i + 1))
        Next
        
        • Partager sur Facebook
        • Partager sur Twitter
          10 juillet 2011 à 14:05:46

          Citation : y55f

          une erreur se signal au niveau de s(1)


          Et l'erreur est.....?


          Console.ReadLine => Je ne vois aucune surcharge de cette méthode acceptant un argument. Si tu veux récupérer une entrée depuis la console, c'est "Dim taChaine As String = Console.ReadLine()" et pas autre chose :) .
          • Partager sur Facebook
          • Partager sur Twitter
            10 juillet 2011 à 18:50:52

            oui tout a fé d'accord,
            l'erreur c'est que s(1) est souligné avec un trait bleu j ai essayé s[1] de meme
            je crois que vb fé la difference entre chaine de caractere et tableau a l inverse cu language C
            • Partager sur Facebook
            • Partager sur Twitter
              10 juillet 2011 à 19:33:31

              Citation : y55f

              l'erreur c'est que s(1) est souligné avec un trait bleu j ai essayé s[1] de meme


              Et tu pourras aussi essayer "Console.ReadLine(s([{^¨'1'¨^}]))" ou tout autre variante avec argument, ça ne marchera pas car "Je ne vois aucune surcharge de cette méthode acceptant un argument"; et ça, c'est pas plus le fait de VB.NET, de .NET, de C#, de C ou de C++, c'est le fait qu'on t'impose une méthode sans argument, c'est qu'elle ne peut marcher QUE SANS arguments ^^ .

              Citation : y55f

              je crois que vb fé la difference entre chaine de caractere et tableau a l inverse cu language C


              Humf...J'aurais tendance à dire non (mais j'ai jamais eu l'occasion de tester en fait)

              En C, tu fonctionnes par pointeur. Quand tu fais un "tableau" en C, c'est en fait un pointeur vers une case mémoire dont les cases suivantes contiendront d'autres données => C'est un tableau statique.

              En .NET, toutes ces histoires de pointeurs sont (volontairement) masquées; mais à l'exécution, le principe est le même => Un type String est une succession contiguë de caractères unicode (un String est un type référence bizarre qui marche a moitié comme type référence et comme type valeur) => C'est (presque) pareil qu'en C...

              De même, en C, si tu veux faire une chaine de caractères dynamique, un simple char* ne marchera plus, il te faudra faire des structures contenant un caractère et un pointeur mémoire vers la structure du caractère suivant. Là encore, .NET fonctionne pareil => Si tu veux une vraie chaine de caractère dynamique, il ne faut plus passer par String mais utiliser StringBuilder.

              Après tout ça (les histoires de pointeur et autre), c'est marrant pour la théorie, mais ça n'est JAMAIS à utiliser en .NET parce que .NET est une technologie qui s'exécute en environnement managé et il serait beaucoup plus fastidieux de développer comme si on était en environnement non-managé (comme en C ou C++) que de développer sans tenir compte de toutes ces problématiques.
              • Partager sur Facebook
              • Partager sur Twitter

              mettre chaine de caractere dans un tab

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown