.NET String.Format с переменной строкой и количеством аргументов - PullRequest
0 голосов
/ 04 мая 2018

Я хочу создать метод, который принимает строку MyString и список строк MyList.

MyString содержит заполнители, такие как {0}, {1} и так далее ... но я не знаю заранее, сколько. Пример: «Я хочу поместить что-то здесь: {0} и что-то там: {1}»

MyList содержит строки, которые должны быть заменены в MyString, в их правильном месте: первая строка с индексом 0 должна быть помещена в заполнитель {0}.

Я бы хотел добиться этого с помощью String.Format, но не понимаю, как передать MyString в виде списка аргументов.

Возможно ли это в VB.NET?

Спасибо

1 Ответ

0 голосов
/ 04 мая 2018

Просто преобразуйте свой список в массив, и тогда вы вызываете эту перегрузку :

string result = string.Format(formatString, list.ToArray());

Например:

string formatString = "I want to put something here: {0} and something there: {1}";
var list = new List<string> { "foo", "bah" };
string result = string.Format(formatString, list.ToArray());
// Result:  I want to put something here: foo and something there: bah

Если вы передадите свой список, будет использована неправильная перегрузка String.Format.


Извините за C #, здесь VB.NET:

Dim result = String.Format(formatString, list.ToArray())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...