StringPadLeft Method

Returns a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public string PadLeft(
	int totalWidth,
	char paddingChar
String^ PadLeft(
	int totalWidth,
	wchar_t paddingChar
member PadLeft : 
        totalWidth:int *
        paddingChar:char -> string
Public Function PadLeft (
	totalWidth As Integer,
	paddingChar As Char
) As String



The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters.


A Unicode padding character.

Return Value


A new string that is equivalent to this instance, but right-aligned and padded on the left with as many paddingChar characters as needed to create a length of totalWidth. However, if totalWidth is less than the length of this instance, the method returns a reference to the existing instance. If totalWidth is equal to the length of this instance, the method returns a new string that is identical to this instance.

Exception Condition

totalWidth is less than zero.

The PadLeft method pads the beginning of the returned string. This means that, when used with right-to-left languages, it pads the right portion of the string.


If the PadLeft method pads the current instance with whitespace characters, this method does not modify the value of the current instance. Instead, it returns a new string that is padded with leading paddingChar characters so that its total length is totalWidth characters.

The following example demonstrates the PadLeft method.

using System;

class Sample
   public static void Main()
   string str = "forty-two";
   char pad = '.';

   Console.WriteLine(str.PadLeft(15, pad));  
   Console.WriteLine(str.PadLeft(2, pad));  
// The example displays the following output:
//       ......forty-two
//       forty-two
Public Class Example
   Public Shared Sub Main()
      Dim str As String
      Dim pad As Char
      str = "forty-two"
      pad = "."c
      Console.WriteLine(str.PadLeft(15, pad)) 
      Console.WriteLine(str.PadLeft(2,  pad))
    End Sub
End Class
' The example displays the following output:
'       ......forty-two
'       forty-two
using namespace System;

void main()
   String^ str = "forty-two";
   Console::WriteLine( str->PadLeft( 15, L'.' ) ); 
   Console::WriteLine( str->PadLeft( 2, L'.' ) ); 
// The example displays the following output:
//       ......forty-two
//       forty-two
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top