Можно передать спецификатор формата для аргумента в качестве другого аргумента в String.Format? - PullRequest
2 голосов
/ 01 декабря 2009

Например, допустим, у меня есть строка формата DateTime в строковой переменной, есть ли какой-либо синтаксис или метод в .NET, который позволил бы мне сделать эквивалент этого недопустимого кода:

String line = String.Format("{0:{1}}", DateTime.Now, dateTimeFormat);
                                ^^^                        ^
                                 |                         |
                                 +-- this would use this --+

Ответы [ 2 ]

2 голосов
/ 01 декабря 2009

Я думаю, этот обзор синтаксиса в значительной степени исключает динамические параметры.

Вам придется каким-то образом использовать двухэтапную систему, предварительно отформатировав дату или сгенерировав строку форматирования. Но я думаю, что оба будут хуже, чем проблема.

1 голос
/ 01 декабря 2009

Что не так с просто

string line = DateTime.Now.ToString(dateTimeFormat);

...