10進数・16進数に限れば、ToStringメソッドやConsole.WriteLineメソッドなどの書式を指定できる文字列化メソッドを使うことでも文字列化することができます。 これらのメソッドで10進形式(D)・16進形式(X)を表す書式指定文字列を指定すれば、その書式に基づいて文字列化されます。 これらに加えて、.NET 8以降であれば2進形式(B)の書式指定文字列も使用できます。

ToStringメソッドを使って0埋め・桁揃えした10進・16進・2進形式で文字列化する .NET 8
using System;

static class Sample {
  static void Main()
  {
    var n = 123;

    // ToStringメソッドに書式を指定して文字列化
    Console.WriteLine("format = D : {0}", n.ToString("D"));  // 10進数表記で数値nを文字列化
    Console.WriteLine("format = X : {0}", n.ToString("X"));  // 16進数表記で数値nを文字列化(A-Fを大文字で表記)
    Console.WriteLine("format = x : {0}", n.ToString("x"));  // 16進数表記で数値nを文字列化(a-fを小文字で表記)
    Console.WriteLine("format = B : {0}", n.ToString("B"));  // 2進数表記で数値nを文字列化(.NET 8以降で使用可能)
    Console.WriteLine("format = D8: {0}", n.ToString("D8")); // 10進数表記で数値nを文字列化(桁数8で0埋め)
    Console.WriteLine("format = X8: {0}", n.ToString("X8")); // 16進数表記で数値nを文字列化(A-Fを大文字で表記・桁数8で0埋め)
    Console.WriteLine("format = x8: {0}", n.ToString("x8")); // 16進数表記で数値nを文字列化(a-fを小文字で表記・桁数8で0埋め)
    Console.WriteLine("format = B8: {0}", n.ToString("B8")); // 2進数表記で数値nを文字列化(桁数8で0埋め・.NET 8以降で使用可能)
  }
}
実行結果
format = D : 123
format = X : 7B
format = x : 7b
format = D8: 00000123
format = B : 1111011
format = X8: 0000007B
format = x8: 0000007b
format = B8: 01111011

また、複合書式指定を使用することで、0埋め・桁揃えも同時に行うことができます。 複合書式指定は、ConsoleクラスStreamWriterクラスStringBuilderクラスのWriteLine等のメソッドでサポートされます。 (書式指定子 §.書式化に対応したメソッドと書式指定子)

複合書式指定において、alignmentに正の値を指定すると右揃え、負の値を指定すると左揃えとなります。

複合書式指定は、文字列補間($"..."形式の文字列リテラル内)でも使用することができます。 文字列補間は、C# 6.0/VB 14以降で使用できます。