Вероятно, "C для Макетов" vol 1, назад в 1997 или около этого. Просто введение действительно, но это было хорошее чтение, взяв вкус к программированию в GFA, Основном на ST Atari. Коронадо C учебное руководство в то же время помог также.
Да, это полностью поддерживается. Пока вы не строите дерево выражений или иным образом не ссылаетесь на System.Core, System.Xml.Linq и т. Д. ... совершенно законно использовать лямбда-выражения в приложении 2.0 с пониженным таргетингом. Это верно для любой другой функции компилятора, представленной в VS2008 (VB9).
РЕДАКТИРОВАТЬ
В нескольких ответах неправильно указано, что лямбда-выражения являются функцией функции 3.5 или 3.0. Лямбда-выражения - это функция компилятора, а не Framework. Для работы им не требуется поддержка фреймворка, и их совершенно законно использовать в приложениях, ориентированных на версию 2.0.
Единственное, где вы можете столкнуться с проблемами, - это если вы используете лямбда в качестве дерева выражений. Деревья выражений - это и компилятор, и фреймворк, и для правильной работы требуется 3.5. Но вам нужно много работать, чтобы это стало возможным, поскольку мы активно пытаемся предотвратить это.
Да, вы правы. Вы можете использовать лямбда-выражения вместо анонимных методов. Все остальное компилятор разберет. Попробуйте следующее:
int sum = 0;
Array.ForEach(new[] {1, 2, 3, 4}, x => sum += x);
Вы не можете использовать любую новую функциональность .Net 3.5 (например, Linq). Для этого необходимо добавить ссылки на System.Linq, System.Core и т. Д., Которых нет в .Net 2.0.
Не работает. Использование Linq требует, чтобы System.Linq был частью сборки платформы, чего нет в .NET 2.0.