Je suis actuellement assez nouveau pour C# programmation. Sur stackoverflow j'ai trouvé cette façon de convertir un nombre hexadécimal en tableau d'octets, mais pour des raisons inconnues quand je l'ai imprimé en console, j'ai obtenu quelque chose comme System.Byte[]
. Comment puis-je imprimer les valeurs de ce tableau d'octets?C# lire le nombre hexadécimal et le convertir en octets, puis l'imprimer
public static void Main(string[] args)
{
string hex = "010000015908178fd8000f0fcaf1209a953c006900dd0e0022000e050101f0015001150351220142375308c700000036f10000601a520000000053000069de54000000205500000387570d4a9e50640000006f0001";
byte[] array = null;
array = Enumerable.Range(0, hex.Length) // Converts hex string to byte array or am I worng?
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
Console.WriteLine(array);
}
Votre question est trop large. Ce n'est pas clair du tout comment vous voulez imprimer les valeurs du tableau. Une façon serait d'imprimer simplement la valeur originale de 'hex'. Une autre méthode consiste à écrire 'foreach' pour imprimer chaque valeur. Une autre méthode consiste à utiliser 'string.Join()' pour générer une chaîne appropriée. Il n'est pas clair non plus si vous voulez imprimer les valeurs en hexadécimal ou en décimal. Pris littéralement, vous semblez être confus sur la façon d'imprimer des valeurs à partir d'un tableau. Voir par exemple marqué en double –
string.Join a parfaitement fonctionné pour moi. Merci! – CaL17
Dupliquer de https://stackoverflow.com/questions/32694766/how-to-print-array-informat-1-2-3-4-5-with-string-join-in-c et de https: //stackoverflow.com/questions/37663663/print-array-in-console-gives-system-int32. –