S'il n'y a pas quelque chose d'évident disponible, boucle peut-être juste:.
public static string ToHexString(byte[] raw)
{ // could also be an extension method
StringBuilder sb = new StringBuilder("0x", 2 + (raw.Length * 2));
for (int i = 0; i < raw.Length; i++)
{
sb.Append(raw[i].ToString("X2"));
}
return sb.ToString();
}
Si cela est une propriété de classe, il serait trivial de créer un TypeConverter
qui fait ceci (à des fins d'affichage), et marquer la propriété avec [TypeConverter(typeof(HexConverter))]
:
class HexConverter : TypeConverter // untested
{
public override object ConvertTo(ITypeDescriptorContext context,
System.Globalization.CultureInfo culture,
object value, Type destinationType)
{
if (destinationType == typeof(string))
{
return ToHexString((byte[])value);
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
Pouvez-vous s'il vous plaît être un peu plus précis. Je suis désolé, je ne pouvais pas comprendre où ajouter cette ligne de code: 'string forDisplay = " 0x "+ BitConverter.ToString (yourByteArray) .Remplacer (" - ", string.Empty);' –