J'ai essayé d'écrire une méthode d'extension pour prendre dans une ulong et renvoyer une chaîne qui représente la valeur fournie en format hexadécimal sans zéros de premier plan. Je n'étais pas vraiment content de ce que je suis venu avec ... N'y a-t-il pas une meilleure façon de le faire en utilisant des bibliothèques standard .net?
3 Réponses :
La solution est en fait vraiment simple, au lieu d'utiliser toutes sortes de bizarreries pour formater un nombre en hex, vous pouvez creuser dans le numberformatinfo classe.
La solution à votre problème est la suivante ... p>
return string.Format("0x{0:X}", temp);
Battez-moi-moi: O) En outre, trouvez ceci. Question similaire: social.msdn .microsoft.com / Forums / en-US / CsharpGeneral / Fil / ...
Haha, génial. renvoyer "0x" + ouid.tostring ("x"). Toupper (); <3
Je serai effectivement utile ... afin que vous puissiez ignorer tout le fichier de bitconverter, etc. Retour string.format ("0x {0: x}", TEMP); Si vous voulez même écrire une extension à cette fin (ce que je ne voudrais pas): D
Pas besoin de TUPPER () ... Juste US X au lieu de x Matée :)
@Ardman, c'est drôle ... dans toute ma recherche Google Je n'ai jamais cherché "Ulong to hex", j'ai continué à taper uint64 dans toutes mes recherches. Google a besoin de recherches de synonyme.
Puis-je suggérer de jeter un coup d'œil à NumberFormatinfo, tout comme CultureInfo, ces deux classes sont souvent négligées par les personnes parce qu'elles ont tendance à penser qu'il n'y a aucune aide pour ce genre de choses :)
@LANGDON - Google a la recherche de synonyme GoogleGuide.com/synony_operator.html
Vous pouvez utiliser string.format: cocher Formatage des chaînes en C # EM> pour un "HOW-TO" plus complet sur la sortie de formatage. P> P>
in c # 6, vous pouvez utiliser une interpolation de chaîne: p>
https://docs.microsoft.com / FR-US / DOTNET / CSHARP / Langue-Référence / Jetons / Interpolés P> $ "0x {variable: x}" code> p>