2012-01-21 3 views

ответ

17

Вы можете использовать метод Join() струны, например:

Console.WriteLine("My array: {0}", 
    string.Join(", ", myArray.Select(v => v.ToString())) 
); 

Это напечатает элементы массива преобразуются в string, разделенных ", ".

+0

Ошибка при использовании вышеуказанного кода. приведенный выше код не удалось скомпилировать –

+1

@AdamLee Это опечатка: я положил фигурные скобки в конце строки вместо обычной. Теперь он исправлен. Постскриптум Доводка по легко пятнистой опечатке не является хорошей практикой. – dasblinkenlight

+0

К сожалению, ваш ответ все еще не может быть скомпилирован. Наилучшее перегруженное соответствие метода для 'string.Join (string, string [])' имеет некоторые недопустимые аргументы –

9

Вы можете использовать следующий один вкладыш для печати Массив

int[] array = new int[] { 1 , 2 , 3 , 4 }; 

Array.ForEach(array , x => Console.WriteLine(x)); 
2

Вы можете написать метод расширения что-то вроде этого

имен ConsoleApplication12 { класса программы {

static void Main(string[] args) 
    { 
     var items = new []{ 1, 2, 3, 4, 5 }; 
     items.PrintArray(); 
    } 
} 

static class ArrayExtensions 
{ 
    public static void PrintArray<T>(this IEnumerable<T> elements) 
    { 
     foreach (var element in elements) 
     { 
      Console.WriteLine(element); 
     } 
    } 
} 

}

3

Мне нравится решение @dasblinkenlight, но я хотел бы отметить, что оператор select не является nessasary.

Этот код дает тот же результат для массива строк:

string[] myArray = {"String 1", "String 2", "More strings"}; 
Console.WriteLine("My array: {0}", string.Join(", ", myArray)); 

Я нахожу это немного легче на глазах, имеющих меньше кода для чтения.

(linqpad это фантастическое приложение для тестирования фрагментов кода, как это.)

+2

Хороший ответ, но это зависит от версии используемой структуры и от того, хотите ли вы обрабатывать массивы любого типа - только фреймворк 4+ имеет 'string.Join (string, object [])' перегрузка , поэтому ваш метод ограничен строковыми массивами в ранних версиях рамок ([msdn] (http://msdn.microsoft.com/en-us/library/dd988350.aspx)) –

Смежные вопросы