How to replace for-loops with a functional statement in C#?

前端 未结 18 1735
不思量自难忘°
不思量自难忘° 2021-01-31 08:59

A colleague once said that God is killing a kitten every time I write a for-loop.

When asked how to avoid for-loops, his answer was to use a functional language. However

18条回答
  •  伪装坚强ぢ
    2021-01-31 09:23

    A simple (and pointless really) example:

    Loop

    // mystrings is a string array
    List myList = new List();
    foreach(string s in mystrings)
    {
        if(s.Length > 5)
        {
            myList.add(s);
        }
    }
    

    Linq

    // mystrings is a string array
    List myList = mystrings.Where(t => t.Length > 5).ToList();
    

    In my book, the second one looks a lot tidier and simpler, though there's nothing wrong with the first one.

提交回复
热议问题