Вы должны выбрать, какой из них вы предпочитаете больше всего.В C # 3.0 все представленные функции (такие как лямбда-выражения, методы расширения и LINQ) основаны на среде выполнения 2.0 .NET.Таким образом, вы можете разрабатывать с использованием C # 3.0 и запускать его на версии 2.0.
Пока ваш компилятор может обрабатывать C # 3.0, вы можете использовать все новые функции C # 3.0,Единственное исключение, о котором я знаю, это то, что если вы используете деревья выражений, вам нужно будет использовать .NET 2.0 SP1, потому что некоторые исправления ошибок в CLR для этого пакета обновления необходимы для правильной работы деревьев выражений.