Наиболее заметной темой в C # 3.0 были данные, которые реализуются через Language Integrated Query (LINQ). Для поддержки LINQ были добавлены большинство других функций языка, таких как неявно типизированные локальные переменные, анонимные типы, лямбда-выражения и методы расширения. LINQ - это способ написания SQL-подобных операторов в вашем коде для запросов к различным типам источников данных. Что привлекательно в этом, так это то, что теперь у вас есть общий способ написания кода для доступа к различным источникам данных, а это означает, что вам не нужно полностью заново изучать колесо каждый раз, когда MS вводит новую технологию доступа к данным или вам нужно использовать сторонний источник данных. Поскольку большинство крупных поставщиков баз данных каким-то образом поддерживают LINQ, преимущества этого распространенного способа запроса данных сегодня осознаются.
Некоторые люди любят LINQ, а другие нет. Я нахожусь в лагере, который считает, что это отличное дополнение к языку, но вы должны рассмотреть свои собственные требования и ситуацию и принять обоснованное решение о том, подходит ли вам принятие C # 3.0.