A Programmer’s Guide to C# 5.0

My author’s copies of the Fourth Edition of my book showed up today: It is significantly updated from the previous version. I especially enjoyed writing the sections on Linq and asynchronous features.      


Small in, Big out

I’ve come across some code that is using – and overusing – IEnumerable<T>, and thought it might be of general interest. Consider the following method signatures: IEnumerable<string> Process(List<string> input); IList<string> Process(IEnumerable<string> input); Of the two, which is the better choice? Write down your answer. There are really two questions – what is the best choice…