Announcement

Collapse
No announcement yet.

int[] in String

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • int[] in String

    Hallo,

    folgendes Problem in c# :
    ich habe einen array mit bytes z.B.
    byte[] xyz = {88, 99, 11};

    Ich möchte die Zahlenfolge in einen String verwandeln.
    Die Zeichenfolge soll nicht 889911 lauten, sondern die ASCII-Zeichen enthalten, die den Werten 88 99 und 11 entsprechen.

    Wie mach ich das?


    vielen Dank
    Marvin Gaye

  • #2
    mit
    [highlight=c#]
    String StringXYZ = System.Text.Encoding.ASCII.GetString(xyz);
    [/highlight]
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Hallo,

      Edit: das-d hat eine elegantere Lösung gezeigt.


      eine Zahl kann durch einen Cast in ein Char als entsprechendes Zeichen dargestellt werden.

      Für dein Beispiel:
      [highlight=c#]
      byte[] xyz = { 88, 99, 11 };
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < xyz.Length; i++)
      sb.Append((char)xyz[i]);

      Console.WriteLine(sb.ToString());
      Console.ReadKey();
      [/highlight]
      Wobei hier ein StringBuilder (SB) verwendet wird. Dies empfiehlt sich anstatt der Vewendung einer einfachen STringverkettung denn der SB ist performanter da nicht jedesmal ein neues Objekt erstellt wird, da Strings immutable (unveränderbar) sind.


      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        [highlight=c#]string ergebnis = new string(Array.ConvertAll(xyz, x => (char)x));[/highlight]

        Warum machst du das?


        Edit: Die 1.Lösung war nicht nur die schnellste Lösung sondern auch die beste. Seltene Koinzidenz
        Encoding liegt aber in System.Text nicht in System.
        Zuletzt editiert von gfoidl; 25.10.2009, 23:01. Reason: Siehe weiter unten.

        Comment


        • #5
          wow, vielen dank für die spuerschnellen antworten! jetzt funzts

          Comment


          • #6
            @Ralf:

            Wem hast du denn da zitiert?


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              @Gü : Mea Culpa. So ist das eben wenn man Älter wird. Die Hand wird zittrig die Augen sehen nicht mehr so klar und gefühlt macht gemeinerweise irgendeiner die Buttons immer kleiner. Wo steckt eigentlich der Admin
              Nee, hab mich einfach nur verklickt sollte schon ein Code Tag werden.

              Comment


              • #8
                @Ralf: Ach so. Ich war so frei und habs geändert.


                mfG Gü
                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                Comment

                Working...
                X