La versión 3.0 de C# llegó a finales de 2007, junto con Visual Studio 2008, aunque el conjunto completo de características del lenguaje en realidad vendría con la versión 3.5 de .NET Framework. Esta versión marcó un cambio importante en el crecimiento de C#. Estableció a C# como un lenguaje de programación verdaderamente formidable. Echemos un vistazo a algunas de las características principales de esta versión:
En retrospectiva, muchas de estas características parecen inevitables e inseparables. Todos encajan estratégicamente. Se cree que la característica principal de la versión C# era la expresión de consulta, también conocida como consulta integrada en el lenguaje (LINQ).
Una vista más matizada examina los árboles de expresión, las expresiones lambda y los tipos anónimos como base sobre la que se construye LINQ. Pero, en cualquier caso, C# 3.0 presentó un concepto revolucionario. C# 3.0 había comenzado a sentar las bases para convertir C# en un lenguaje híbrido funcional y orientado a objetos.
Específicamente, ahora puede escribir consultas declarativas de estilo SQL para realizar operaciones en colecciones, entre otras cosas. En lugar de escribir un bucle for para calcular el promedio de una lista de números enteros, ahora puede hacerlo tan simplemente como list.Average(). La combinación de expresiones de consulta y métodos de extensión hizo que una lista de números enteros fuera mucho más inteligente.