简体   繁体   中英

Variable String.Format length

I have the following code:

var str = "ABC";
var n = 7;
var output = String.Format("{0,n}", str);

This should output the string

"    ABC"

How should I change the line above?

Format strings are just strings too - you can define the format separately:

int n = 3;
string format = string.Format("{{0,{0}}}", n);
//or more readable: string format = "{0," + n + "}";
var output = string.Format(format, str);

Edit:

After your update it looks like what you want can also be achieved by PadLeft() :

var str = "ABC";
string output = str.PadLeft(7);

写吧:

var lineLength = String.Format("{0," + n + "}", str);
var s="Hello my friend";
string leftSpace = s.PadLeft(20,' '); //pad left with special character
string rightSpace = s.PadRight(20,' '); //pad right with special character

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM