string.Format (): форматирует строку, беря ширину во время выполнения C # .net 2.0 - PullRequest
1 голос
/ 09 марта 2011

В обычном строковом формате мы будем писать так:
string formattedString = string.Format ("{0, -30}", someData.ToString ());
Форматирует строку с выравниванием по левому краю на 30 символов,

Я хочу форматировать строки различной ширины, и эта ширина будет указана во время выполнения.В приведенном выше примере я передал бы ширину (30, 50, 60 и т. Д.) В качестве параметра.

Просьба помочь мне добиться этого.

Ответы [ 2 ]

3 голосов
/ 09 марта 2011
String formattedString = 
  String.Format("{0, -" + someData.ToString.Count() + "}", someData.ToString());

Без необходимости звонить someData.ToString() дважды, поскольку это может быть дорого

String someDataString = someDate.ToString();
String formatteString = 
  String.Format("{0, -" + someDataString.Count() + "}", someDataString);
0 голосов
/ 09 марта 2011
int alignment = 30;
string format = "{0, -" + alignment + "}";
string formattedString = String.Format(format, someData);

Вам не нужен ToString во многих местах. Он вызывается String.Format и аналогичными методами.

...