Does C# have IsNullOrEmpty for List/IEnumerable?

前端 未结 10 518
一生所求
一生所求 2020-12-23 11:04

I know generally empty List is more prefer than NULL. But I am going to return NULL, for mainly two reasons

  1. I have to check and handle null values explicitly,
10条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-23 11:54

    If you need to be able to retrieve all of the elements in the case of it not being empty, then some of the answers here won't work, because the call to Any() on a non-rewindable enumerable will "forget" an element.

    You could take a different approach and turn nulls into empties:

    bool didSomething = false;
    foreach(var element in someEnumeration ?? Enumerable.Empty())
    {
      //some sensible thing to do on element...
      didSomething = true;
    }
    if(!didSomething)
    {
      //handle the fact that it was null or empty (without caring which).
    }
    

    Likewise (someEnumeration ?? Enumerable.Empty()).ToList() etc. can be used.

提交回复
热议问题