Que signifie ToString ("X2")? [dupliquer]

cette question a déjà une réponse ici:

je fais une étude sur encrypt MD5, j'ai trouvé ce code dans Google ""

    public string CalculateMD5Hash(string input)
    {

        // Primeiro passo, calcular o MD5 hash a partir da string
        MD5 md5 = System.Security.Cryptography.MD5.Create();
        byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
        byte[] hash = md5.ComputeHash(inputBytes);

        // Segundo passo, converter o array de bytes em uma string haxadecimal
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < hash.Length; i++)
        {
            sb.Append(hash[i].ToString("X2"));
        }
        return sb.ToString();
    }

mais pourquoi utilise-t-il ToString ("X2")? quelle est la différence de ToString normal?

47
demandé sur user1 2013-12-23 23:37:53

3 réponses

il formate la chaîne en deux caractères hexadécimaux majuscules.

plus en profondeur, l'argument "X2" est une" chaîne de format "qui indique à la méthode ToString() comment elle devrait formater la chaîne. byte.ToString() sans aucun argument renvoie le nombre dans sa représentation décimale naturelle, sans rembourrage.

documents Microsoft le chaînes de format numérique standard qui fonctionnent généralement avec toutes les primitives méthodes des types numériques ToString() . Ce même modèle est utilisé pour d'autres types aussi bien: par exemple, chaînes de format date/heure standard peut être utilisé avec DateTime.ToString() .

62
répondu TypeIA 2017-06-27 14:41:31

il imprime le byte en format hexadécimal.

sans chaîne de format: 13

'X2' chaîne de format: 0d

http://msdn.microsoft.com/en-us/library/aa311428 (v=71).aspx

32
répondu Dave Zych 2013-12-23 19:41:14

ToString ("X2") imprime L'entrée en hexadécimal

7
répondu Dominic B. 2013-12-23 19:44:00