Heim >Backend-Entwicklung >C++ >Wie kann ich effizient Basiskonvertierungen in .NET durchführen?
Beim Umgang mit unterschiedlichen progressiven Werten ist häufig eine Vorvertransformation erforderlich. Obwohl die gebaute Methode begrenzte Transformationen unterstützt, fehlt dem .NET einen allgemeinen Mechanismus für den Umsatz.
Benutzerdefinierte Konvertierungsfunktion Convert.ToString
Um die Transformation jeglicher Fortschritte zu verwirklichen, kann es seine eigene praktische Funktion realisieren. Eine einfache Methode ist es, die Zahlen im Ziel zu teilen und die verbleibenden Zahlen in der entgegengesetzten Reihenfolge zu sammeln:
Leistungsoptimierung
<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>Für große Zahlen kann die obige Methode durch Verwendung eines Array -Puffer anstelle der String -Verbindung optimiert werden:
Diese Methode ist für große Zahlen viel schneller (insbesondere für diejenigen, die längere Darstellungen in der Zielbasis erzeugt haben). Für eine Ziffer kann die ursprüngliche -Methode jedoch schneller sein.
Verwenden Sie das benutzerdefinierte Foundation -Zeichen
<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>
und IntToString
Ermöglichen Sie Ihnen, ein Array eines beliebigen Basiszeichens anzugeben. Dies kann benutzerdefinierte Basen wie Hexadic (Basis 26, Verwendung von Groß- und Kleinbuchstaben) oder 60 -in -sicher (Basis 60) verwenden.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient Basiskonvertierungen in .NET durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!