Hier haben wir den Fall, dass wir eine Liste durchlaufen wollen, die aber auch NULL (NullReferenceException) sein könnte.

Wir können natürlich folgendes machen:

if ( items != null)
{
   foreach(T item in items)
   {
        //...
   }
}

Etwas eleganter sieht folgende Lösung: 1)Stack Overflow – Vlad Bezden

T<string> items = null;  
foreach (var item in items ?? new T<string>())
{
    item.Dump();
}

Wenn man C# 6 nutzt, könnte man die Null-conditional Operator anwenden: 2)Stack Overflow – kjbartel

List<string> items = null;
items?.ForEach(item =>
{
    // ...
});

Performance technisch ist aber diese Lösung besser: 3)Stack Overflow – Eric Lippert

T<string> items = null;  
foreach (var item in items ?? Enumerable.Empty<string>())
{
    item.Dump();
}