Элемент C# отсутствует в списке и не имеет значения null или пробелы

Здравствуйте!
Мы работаем над программой, в которой вы можете создавать новые "папки" и загружать в них файлы.
Проблема в том, что я хочу сделать это внутри Папки, нельзя создавать две подпапки с одинаковыми именами.
Вот мой код

while (string.IsNullOrEmpty(folderName) || !foglalt || !string.IsNullOrWhiteSpace(folderName))
{
    folderName = Console.ReadLine();

    if (string.IsNullOrEmpty(folderName) || string.IsNullOrWhiteSpace(folderName))
    {
        Console.WriteLine("Ez a mező nem lehet üres. \nÚj mappa neve:");
        //(Can't be null. \nNew foldername:)
        break;
    }

    if (p.FolderList.Contains(folderName))
    {
        foglalt = true;
        Console.WriteLine(
            "Ez a mappanév egyszer már szerepel ebben a környezetben. Kérlek válassz újat!\nÚj mappa neve:");
        //(That name is already taken. \nNew foldername:)
    }
    else {foglalt = false;}
}

("foglalt" - это бул, значит "взято".)
Должно быть, что-то не так во время, но я просто не знаю что.
Не могли бы вы помочь мне исправить это?

1 ответ

Решение
while (true)
{
    folderName = Console.ReadLine();

    // if folder name is null or empty or whitespace, ask for a new folder name
    if (string.IsNullOrEmpty(folderName) || string.IsNullOrWhiteSpace(folderName))
    {
        Console.WriteLine("Ez a mező nem lehet üres. \nÚj mappa neve:");
        //(Can't be null. \nNew foldername:)
    }
    //if folder name already exists, ask for a new one
    else if (p.FolderList.Contains(folderName))
    {
        Console.WriteLine("Ez a mappanév egyszer már szerepel ebben a környezetben. Kérlek válassz újat!\nÚj mappa neve:");
        //(That name is already taken. \nNew foldername:)
    }
    else //Folder Name is valid
        break; //proceed to do stuff with the folder name
}
//Do my stuff with the valid folder name
Другие вопросы по тегам