views:

154

answers:

6

I came across a C# language feature today courtesy of ReSharper, the ?? operator. This helped make the code even more concise than my initial attempt. See below for iteration in improving lines/length/readability of code.

A first attempt could be something like..

if (usersEmail == null)
  userName = firstName;
else
  userName = usersEmail;

Refactored to..

userName = usersEmail == null ? firstName : usersEmail;

Initially I thought the above would be the most efficient/concise version, but there is a third step...

userName = usersEmail ?? firstName;

Id like to know if you have any similar examples where C# language features help with reducing lines of code and improving readability?

+3  A: 

The var keyword for implicit static typing and automatic properties are two good examples.

Douglas
+1  A: 

This thread has a lot of gems: http://stackoverflow.com/questions/9033/hidden-features-of-c (including the one you mentioned)

mint
+4  A: 

the using block, LINQ, anonymous delegates, the list would just go on..

C# has a very nice habit of introducing features in every major release that cut down the amount of code that you have to write.

Gishu
+1  A: 

Using using keyword

Giorgi
+1  A: 

Extension methods.

Joe White
A: 

LINQ queries allowing you to express the query criteria better than a foreach loop

benPearce