Entwickler-Ecke

Basistechnologien - C# Ausgabe Problem


pflaumenlaub - Mo 26.01.09 21:00
Titel: C# Ausgabe Problem

C#-Quelltext
1:
2:
3:
4:
int i = 300000000 ;
i = Convert.ToInt32(textBox1.Text);
string a = String.Format("{0:X08}", i);
textBox4.Text = a


Guten Abend,

Hab hier ein kleines Programm geschrieben.
Das wandelt die zahl 300000000 in eine Hexdezimal zahl um.
Funktioniert auch alles einwandfrei.

300000000 = 11E1A300 // Das Programm gibt das aus, was auch richtig ist.

Jetzt zu meiner Frage:

Ich möchte die Ausagbe von meiner Hex-Zahl: 11 E1 A3 00 bisschen
durcheinander bringen, undzwar soll die Ausgabe so schauen: 00 A3 E1 11
Weiß einer Rat?

MfG

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christoph1972 - Mo 26.01.09 23:41

Hi,


habe mal kurz was zusammengebaut. Aber ich denke da wird es noch eine bessere Lösung geben.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private String Change(String OldValue)
{            
    String NewValue = "";
    Char[] CharArray = OldValue.ToCharArray();
   
    for (Int32 I = CharArray.Length - 1; I >= 0; I--)
    {
      NewValue += CharArray[I];
    }
    return NewValue;
}



Gruß
Christoph


jaenicke - Di 27.01.09 00:02

Wie wäre es einfach so:

C#-Quelltext
1:
2:
3:
4:
int i = 300000000;
i = (i >> 24) + ((i & 0x00FF0000) >> 8
    + ((i & 0x0000FF00) << 8) + ((i & 0x000000FF) << 24);
textBox1.Text = String.Format("{0:X08}", i);


Kha - Di 27.01.09 14:53

Oder etwas deklarativer:

C#-Quelltext
1:
2:
csharp> string.Join(" ", Array.ConvertAll(BitConverter.GetBytes(300000000), b => b.ToString("X2")));
"00 A3 E1 11"

Oder, wenn Bindestriche nicht stören, einfach BitConverter.ToString.