C# 项不在列表中,并且不为 null 或空格

C# item isn't in List, and not null or whitespace

您好!
我们正在开发一个程序,您可以在其中创建新的 'folders' 并将文件上传到它们。
问题是,我想把它放在一个文件夹里,不允许创建两个同名的子文件夹。
这是我的代码。

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" 是一个布尔值,表示已取。)
while 条件一定有问题,但我就是不知道是什么。
你能帮我解决这个问题吗?

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