понедельник, 27 июня 2011 г.

Лямбда-выражения или не стоит искать сложностей там, где их нет.

Несколько слов вместо введения.
В данной статье я хочу рассказать о лямбда-выражениях - что это такое и с чем их едят. Частенько на форумах можно встретить вопросы вроде "зачем они нужны?", "нечитабельны" и т.д. Думаю многих отталкивает синтаксис лямбда-выражений, который может показаться простым и сложным одновременно. Главное усвоить, что лямбда-выражения предназначены для определения анонимных методов в сжатой манере, тем самым еще больше упрощая работу с делегатами.
Т.к. эта статья не нацелена на обзор того, что из себя представляют делегаты и анонимные методы, то предлагаю быстро пробежаться от делегатов через анонимные методы до лямбда-выражений на простом примере.

суббота, 4 июня 2011 г.

Когда следует использовать ключевое слово 'var' в C#?


Небольшое введение.
Контекстное ключевое слово 'var' было впервые представленное в C# 3.0. Оно описано, как "контекстное" т.к. является ключевым в определенном контексте. В остальных случаях - это обычный идентификатор.

Контекстные ключевые слова не являются чем-то новым. Еще в C# 1.0 были представлены такие контекстные ключевые слова, как get, set, value, add и remove - которые используются в контексте определения свойств и событий. Другие контекстные ключевые слова были добавлены в последующих версиях.

'var' является инструкцией для компилятора C#, позволяющей определить тип локальной переменной из типа присваиваемого ей значения. Например:
var list = new List(); // list принадлежит типу List
var count = 3; // count принадлежит типу int
var greeting = "Hello"; // greeting принадлежит типу string
var var = 'c'; // var (в роли имени переменной) принадлежит типу 'char'