Vornamen einer Studentenliste mit LINQ filtern

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Visual_Prog.

    Vornamen einer Studentenliste mit LINQ filtern

    Hallo ich habe folgende Studentenliste (Studiengang ist eine Enumeration):

    C#-Quellcode

    1. Student Sabrina = new Student(Studiengang.Biologie, 3, "Sabrina", "Vogel");
    2. Student Patrick = new Student(Studiengang.Informatik, 5, "Patrick", "Müller");
    3. Student Kurt = new Student(Studiengang.Informatik, 4, "Kurt", "Meier");
    4. Student Anna = new Student(Studiengang.Germanistik, 1, "Anna", "Kohl");
    5. Student Sebastian = new Student(Studiengang.Mathematik, 2, "Sebastian", "Müller");
    6. List<Student> studentenListe = new List<Student>() { Sabrina, Patrick, Kurt, Anna, Sebastian };


    was bis jetzt funktioniert hat mit LINQ war, die gesamte Information eines gesuchten Studenten auszugeben, siehe hier:

    C#-Quellcode

    1. var informatikStudenten = from student in studentenListe
    2. where student.Studiengang == Studiengang.Informatik & student.Semester > 4
    3. select student;
    4. foreach (Student student in informatikStudenten)
    5. {
    6. Console.WriteLine(student);
    7. }


    Nun möchte ich erreichen, dasss von allen Studenten ausschließlich die Vornamen asugegeben werden, hier mein Versuch:

    C#-Quellcode

    1. var vorNamen = from student in studentenListe
    2. where student.Vorname.ToString().Length >= 0
    3. select student.Vorname;
    4. foreach (Student student in studentenListe)
    5. {
    6. Console.WriteLine(vorNamen);
    7. }
    8. }


    Das klappt leider eher schlecht als Recht, hätte Jemand einen Tipp / Vorschlag, wie ich dies umsetzen könnte? danke schon mal
    vom welchen DatenTyp ist vorNamen denn? List<string> denke ich.
    Ich habe grad kein Beispiel zum Testen, aber das könnte es sein:

    C#-Quellcode

    1. foreach (string vn in vorNamen)
    2. {
    3. Console.WriteLine(vn);
    4. }


    Ich vermute, dass student.Vorname bereits vom DatenTyp String ist, dann sollte
    where student.Vorname.Length >= 0 reichen