C#

Вывод массива C#

Почему у меня не выводит числа?
//числовая сортировка
int[] numbers = { 6, 5, 1, 7, 8 };
Console.WriteLine("Orig numbers array: ", numbers);

Array.Sort(numbers);
Console.WriteLine("\nSorted numbers: ", numbers);
Console.ReadKey();
Проблема в вашем коде связана с некорректным использованием метода Console.WriteLine(). Этот метод принимает первым параметром строку с шаблоном форматирования, а затем список объектов для вставки в этот шаблон.

В вашем случае, когда вы вызываете Console.WriteLine("Orig numbers array: ", numbers); и Console.WriteLine("\nSorted numbers: ", numbers);, вы не указываете, какое значение переменной numbers должно быть вставлено в шаблон.

Для вывода значений массива вы можете воспользоваться методом string.Join(), который объединяет элементы массива в строку с использованием заданного разделителя. Вот исправленный код:
 int[] numbers = { 6, 5, 1, 7, 8 }; 
Console.WriteLine("Orig numbers array: " + string.Join(", ", numbers));

Array.Sort(numbers);
Console.WriteLine("\nSorted numbers: " + string.Join(", ", numbers));

Console.ReadKey();
Теперь метод string.Join(", ", numbers) объединит элементы массива numbers с разделителем запятая и пробел, и результат будет правильно выведен на консоль.
ИЗ
Измуруд Зиёратов
3 288
Лучший ответ
Потому что твой код выводит указатель на массив, а не элементы массива.
Анатолий Попов
Анатолий Попов
70 891
Просто выводите массив так, чтобы он действительно выводился, например, следующим образом:
 using System; 
class New_Project
{ public static void Main()
{ int i; int [] numbers = { 6, 5, 1, 7, 8 };
Console.Write("Orig numbers array: ");
for (i = 0; i < numbers.Length; i++)
Console.Write(numbers[i] + " ");
Console.WriteLine(); Array.Sort(numbers);
Console.Write("Sorted numbers: ");
for (i = 0; i < numbers.Length; i++)
Console.Write(numbers[i] + " ");
Console.WriteLine(); Console.ReadKey(); } }
Так всё выводится нормально:А есть и другие варианты вывода. Какие из них лучше - Вам решать!