Почему не выводится список?

хотел сделать программу, которая генерирует пароль путем выбора случайного элемента из массива символов. Но в конце после заполнения списка, почему-то этот же самый список не выводится. И я не понимаю, у меня ошибка в функции "ShowList()" или у меня список пустой.. заранее спасибо! введите сюда описание изображения

List<char> password = new List<char>(16);

Random rand = new Random();

for (int index = 0; index < password.Count; index++)
{
    int randomSymbol = rand.Next(0, symbols.Length);
    password.Add(symbols[randomSymbol]);
}

ShowList(password);

static void ShowList(List<char> list)
{
    for (int index = 0; index < list.Count; index++)
    {
        Console.WriteLine(list[index]);
    }
}

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

Автор решения: Faraday

Потому что у вас условие цикла i < password.Count. List, как и другие коллекции, имеет два основных свойства - Count и Capacity. Не буду углубляться в разницу между ними, но стоит понимать, что это разные свойства.

Вы ошиблись, когда создали новый список new List<char>(16), потому что вы перепутали это с массивами, но конструктор списка устанавливает не значение Count, а значение Capacity.

В общем говоря, у вас цикл отрабатывает - раз, потому что в списке password нет элементов.

Для решения вашей задачи, лично я бы установил константное значение для размера пароля и по нему обходил бы цикл.

→ Ссылка