Soy completamente nuevo en Linq y me pregunto si puede ayudarme a entender la diferencia entre los siguientes Linq. Por ejemplo ...LINQ - La diferencia entre .Select (n => n.Name) y .Select (n => new {n.Name});
//normal select
var contacts = entity.Contacts.Select(n => n.FirstName);
//select new
var contacts2 = entity.Contacts.Select(n => new { n.FirstName });
//normal select output
foreach (var c in contacts)
Response.Write(c + "<br/>");
//select new output
foreach (var c in contacts2)
Response.Write(c.FirstName + "<br/>");
La única diferencia que veo es que en el selecto normal, el primer nombre (cadena) se almacena en la colección, mientras que en el selecto nueva, un objeto de contacto se almacena en el collecton y al primer nombre al que accede su propiedad. Además, el seleccionar nuevo devuelve las propiedades solo seleccionadas en la declaración.
Otra diferencia que noté es que puede devolver varias propiedades específicas en la nueva selección.
¿En qué escenario elegiría uno sobre el otro?
Gracias por la ayuda.
Aquí hay una situación: 'select new {n.FirstName, n.LastName}' –