Prüfen, ob string vorhanden ist in der Liste C#

Ich habe die Codierung ein Programm, dass speichert die Daten über Studierende (name und Alter) in einem .txt-Datei. Ich bin jetzt dabei die delete-Methode. Allerdings, wenn der Benutzer eine Zeichenfolge eingibt, soll ich ihn vergleichen, den Eingang zu den strings in meiner List<string>, das ist voll von Namen. Code:

    string tempFileName;
    string inputSel; //Selection string for delete
    Console.WriteLine(" -- Deleting Grade {0} -- ", grade);
    Console.WriteLine("- Enter a student name to delete: ");
    foreach (string file in fileNames)
    {
        tempFileName = file.Replace(".txt", "");
        studentNames.Add(tempFileName);
    }
    foreach (string name in studentNames)
    {
        Console.Write("{0}\n", name);
    }
    Console.WriteLine();
    Console.Write("> ");
    inputSel = Console.ReadLine();
    string input = inputSel.ToLower();
    string tempString;
    bool foundString = false;
    foreach (string file in studentNames)
    {
        tempString = file.ToLower();
        if (inputSel == tempString)
        {
            foundString = true;
        }
    }
    if (!foundString)
    {
        Console.WriteLine("Wrong name entered!");
        Console.WriteLine("Returning to grades menu..");
        Console.WriteLine("Press any key to continue.");
        Console.ReadKey();
        return;
    }  

Wie Sie sehen können, das Programm speichert inputSel in input (ToLower()), dann vergleicht jeder string in studentNames List<string>, und wenn es eine übereinstimmung findet, es spiegelt das foundString bool aber selbst wenn ich einen Namen eingeben, der übereinstimmungen (zum Beispiel, es sagt JacobMusterson, geben Sie mir JacobMusterson, sollte es überspringen, der "student nicht gefunden", aber es funktioniert nicht.

  • vergessen Sie nicht zu akzeptieren hilfreiche Antworten
InformationsquelleAutor Ilan321 | 2013-10-30
Schreibe einen Kommentar