Lorsqu'il s'agit de différentes valeurs progressives, une transformation d'avance est souvent nécessaire. Bien que la méthode construite -in prenne en charge les transformations limitées, le .NET n'a pas de mécanisme de transformation générale.
Fonction de conversion personnalisée Convert.ToString
Afin de réaliser la transformation de toute progression, il peut réaliser sa propre fonction pratique. Une méthode simple consiste à diviser les nombres dans l'objectif et à accumuler les nombres restants dans l'ordre opposé:
Optimisation des performances
<code class="language-csharp">public static string IntToString(int value, char[] baseChars) { string result = string.Empty; int targetBase = baseChars.Length; do { result = baseChars[value % targetBase] + result; value = value / targetBase; } while (value > 0); return result; }</code>
Cette méthode est beaucoup plus rapide pour les grands nombres (en particulier ceux qui ont produit des représentations plus longues dans la base cible). Cependant, pour un chiffre, la méthode d'origine peut être plus rapide.
Utiliser le caractère de fondation personnalisé
<code class="language-csharp">public static string IntToStringFast(int value, char[] baseChars) { // 基数为2且值为int.MaxValue时的最坏情况缓冲区大小 int i = 32; char[] buffer = new char[i]; int targetBase = baseChars.Length; do { buffer[--i] = baseChars[value % targetBase]; value = value / targetBase; } while (value > 0); return new string(buffer, i, 32 - i); }</code>
et IntToString
vous permettent de spécifier n'importe quel tableau de tout caractère de base. Cela peut utiliser des bases personnalisées, telles que l'hexadique (base 26, l'utilisation de lettres majuscules et minuscules) ou de soixante-po à l'épreuve (base 60).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!