эквивалент javascript для join () и toString () в c #? - PullRequest
13 голосов
/ 18 сентября 2009

Есть ли какой-либо метод в C #, который эквивалентен JavaScript join () ..

   var keyStr = keyList.join("_");

Мое требование - объединить массив строк в одну строку с указанным разделителем.

И я хотел преобразовать весь массив строк в одну строку ... в javascript мы можем сделать это, вызвав toString () массива jabvascript

C # toString массива просто печатает информацию о типе. Если мы используем toString в других типах, таких как int, он возвращает строковое представление типа int. Но почему это не было реализовано в массиве String. не так ли странно ??

И

Ответы [ 3 ]

33 голосов
/ 18 сентября 2009

Вы можете использовать string.Join():

string.Join("_", array);

или, для списков:

string.Join("_", list.ToArray());

Преобразование массива строк в одну строку выполняется точно так же: с string.Join():

string.Join(" ", stringarray);

Дэн Эллиотт также имеет хороший метод расширения, который вы можете использовать, чтобы быть немного ближе к JavaScript в плане синтаксиса.

2 голосов
/ 18 сентября 2009

если вы хотите добавить функциональность в строковый массив, вы можете сделать это с помощью метода расширения

public static class ArrayExtension
{

  public static string AsString(this string[] array, string seperator)
  {
    return string.Join(seperator, array);
  }
}

Тогда вы бы написали:

var keyStr = keyList.AsString("_");
0 голосов
/ 18 сентября 2009

Попробуйте код ниже.

 string[] arr=new string[]{"aa","bb","cc"};
 string.Join("-", arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...