• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Linq - checking for nulls

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Linq - checking for nulls

    Using the query syntax, how do you check if a collection is null?


    var result = from e in response.entitlements where e != null
    select new {...}

    response.entitlements is an array & when it's null I get a null reference exception but according to MSDN this where clause should handle it

    #2
    The e != null means it will include any elements in the collection that are not null. It does not account for a null collection which, if I understand correctly, is the cause of the problem here.

    You could use the coalesce operator (??) to use an empty collection when the property value is null. For example if the type of the elements in the response.entitlements collection is Entitlement you'd do something like the following:

    Code:
    var result = from e in response.entitlements ?? Enumerable.Empty<Entitlement>() 
                      where e != null // this may no longer be necessary
                      select new {...}
    Last edited by Jaws; 28 December 2011, 22:47.

    Comment


      #3
      Originally posted by Jaws View Post

      Code:
      var result = from e in response.entitlements ?? Enumerable.Empty<Entitlement>() 
                        where e != null // this may no longer be necessary
                        select new {...}
      Excellent, just what I was looking for. Thanks.

      Comment

      Working...
      X