Проблема с массивом и обработкой данных

Задача: нужно через консоль задать количество работников и далее указать их зарплату. Проблемы начинаются с указания массива, и либо его неправильная инициализация, либо я уже не знаю что, про массивы читал - пробовал - не получилось, теперь конкретно к коду:

  using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AverageSalary
{
    class Sravnenie 
    {
    static void Main(string[] args)
        {
            int[] SalaryList;
            Console.WriteLine("Введите колличество сотрудников: ");
            int  NumberOfWorkers = Convert.ToInt32(Console.ReadLine());
            SalaryList = new int[NumberOfWorkers];      
            for (int i = 0; i < NumberOfWorkers; i++)
            {
                Console.WriteLine("Введлите зарплату сотрудника {0.d} : ", i);
                int SalaryOfEachWorker = Convert.ToInt32(Console.ReadLine());
                SalaryList[i] = SalaryOfEachWorker;

            }  

            Console.WriteLine(SalaryList);    

        } 
    }
}

Проблема заключается в том, что консоль выдает System.Int32[].


Ответы (1 шт):

Автор решения: Max S

В Console.WriteLine(SalaryList) неявно вызывается метод ToString у массива, который по умолчанию просто выводит полное имя класса – в вашем случае это System.Int32[].

Если вы хотите вывести массив поэлементно, нужно написать немного дополнительного кода. Проще всего воспользоваться встроенным методом String.Join: Console.WriteLine(string.Join(',', SalaryList)).

Весь ваш код метода Main тогда будет выглядеть так (привел заодно имена всех переменных в соответствии с соглашениями о написании кода на C# и исправил пару недочетов):

int[] salaries;
Console.WriteLine("Введите количество сотрудников: ");
int workersCount = Convert.ToInt32(Console.ReadLine());
salaries = new int[workersCount];
for (int i = 0; i < workersCount; i++)
{
    Console.WriteLine($"Введите зарплату сотрудника {i + 1}: ");
    int salaryOfWorker = Convert.ToInt32(Console.ReadLine());
    salaries[i] = salaryOfWorker;
}

Console.WriteLine(string.Join(',', salaries));
→ Ссылка