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 = usersEm开发者_开发问答ail ?? firstName;
Id like to know if you have any similar examples where C# language features help with reducing lines of code and improving readability?
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.
The var
keyword for implicit static typing and automatic properties are two good examples.
This thread has a lot of gems: Hidden Features of C#? (including the one you mentioned)
Using using keyword
Extension methods.
LINQ queries allowing you to express the query criteria better than a foreach loop
精彩评论