.NET эквивалент методов java.util.Arrays.toString (...) в Java - PullRequest
3 голосов
/ 09 марта 2009

В Java класс java.util.Arrays имеет несколько статических методов toString(...), которые принимают массив и возвращают его строковое представление (т. Е. Строковое представление содержимого массива, разделенного запятыми, и целое представление, заключенное в квадратные скобки - - например, «[1, 2, 3]»).

Есть ли эквивалентный метод / функциональность в .NET?

Я ищу метод, который делает это, не прибегая к ручному построению цикла / метода для перебора массива.

Ответы [ 2 ]

3 голосов
/ 09 марта 2009

Метод String.Join .

[Вам нужно будет добавить квадратные скобки самостоятельно]

1 голос
/ 09 марта 2009

Попробуй это. Он не будет обрабатывать значения NULL, но будет работать с типами значений и ссылочными типами. Поскольку это метод расширения, вы можете просто вызвать .ToElementString () для любого экземпляра массива.

public static string ToElementString<T>(this T[] array) {
  var middle = array.Select(x => x.ToString().Aggregate((l,r) => l+","+r);
  return "[" + middle + "]";
}

Вот версия, которая использует компоновщик и потенциально будет немного более эффективной (наверняка знает только профилировщик). Он также будет правильно обрабатывать нулевые значения.

public static string ToElementString<T>(this T[] array) {
  var builder = new StringBuilder();
  builder.Append('[');
  for(int i =0; i < array.Length; i++ ) {
    if ( i > 0 ) {
      builder.Append(',');
    }
    builder.Append(array[i]);
  }
  builder.Append(']');
  return builder.ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...