1. #1
    Avatar von Sido
    Registriert seit
    28.11.2011
    Beiträge
    166
    Thanked 35 Times in 22 Posts

    Standard C# List Foreach Rückgabewert?

    Tollerweise kann man ja in C# mit Foreach eine einfache Foreach machen ohne eine foreach Schleife zu benötigen:


    List<string> myList = new List<string>();
    myList.Add("Test1");
    myList.Add("Test2");

    string s = "";
    myList.ForEach(lol => s += lol);

    Console.WriteLine(s);


    Nur frage ich mich wieso ich die eine extra Zeile benötige? Warum kann ich das was ich in der Foreach Methode mache nicht als Rückgabewert erhalten?
    Pseudocode:


    string s = myList.ForEach(lol => += lol);


    Gibt mir so einen Errro aus aber schade dass es nicht so geht, gibt es keine Möglichkeit wie man das abkürzen könnte?
    Eine Demokratie vertraut ihren Bürgern, eine Diktatur nicht.

  2. #2
    Avatar von Bubble
    Registriert seit
    20.11.2011
    Beiträge
    703
    Thanked 510 Times in 327 Posts

    Standard AW: C# List Foreach Rückgabewert?

    Ohne jetzt ein supertoller C#-Entwickler zu sein: in der Variable "lol" wird der momentane Wert lokal für diesen Schleifenaufruf gespeichert. Und das macht keinen Sinn, diesen String mit sich selbst zu verbinden.

    Einfacher gehts mit
    string combindedString = string.Join( ",", myList.ToArray() );
    

  3. #3
    Avatar von Nuebel
    Registriert seit
    23.11.2013
    Beiträge
    446
    Thanked 361 Times in 236 Posts

    Standard AW: C# List Foreach Rückgabewert?

    Zitat Zitat von Sido
    Nur frage ich mich wieso ich die eine extra Zeile benötige? Warum kann ich das was ich in der Foreach Methode mache nicht als Rückgabewert erhalten?
    Die ForEach-Methode hat keinen Rückgabewert:

    public void ForEach(
    Action<T> action
    )


    Was du suchst, ist eine mapping-Funktion (bzw. Methode). Ich weiß nicht, ob C# eine bietet. Aber wenn es ForEach mit Lambdas gibt, dann sicher auch map, fold und reduce. Vielleicht mal MSDN durchstöbern. Ansonsten hat Bubble ja schon eine Lösung gegeben.

Ähnliche Themen

  1. List(Of T) blockiert Paint Zeichnen
    Von !lkay im Forum Java
    Antworten: 12
    Letzter Beitrag: 01.05.2013, 19:54
  2. Artist Pro List Frage..
    Von ryudragon14 im Forum RealLife
    Antworten: 0
    Letzter Beitrag: 01.08.2012, 23:46
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.