2009-09-22 24 views

Respuesta

97
List<string> firstNames = people.Select(person => person.FirstName).ToList(); 

Y con la clasificación

List<string> orderedNames = people.Select(person => person.FirstName).OrderBy(name => name).ToList(); 
+0

Gracias. Además, ¿cómo ordenaría alfabéticamente por nombre? – User

+0

List firstNames = people.Select (person => person.FirstName) .ToList(). Sort(); Esto ordenará usando la clasificación alfabética predeterminada de la cadena. –

+0

¡Sort() no admite una interfaz fluida! Llame a FirstNames.Sort() por separado – Dario

3
firstNames = (from p in people select p=>p.firstName).ToList(); 
+7

El uso de una expresión de consulta en este caso es overkill, IMO. La notación de puntos tiene menos pelusa si acaba de obtener una operación simple. –

+1

Es cierto, pero la pregunta era "¿Cómo se puede hacer esto? ... no" ¿Cómo se puede hacer esto con la menor cantidad de pelusa? ". Sin falta de respeto, Jon. (Por favor no me golpees) –

4
IList<string> firstNames = (from person in people select person.FirstName).ToList(); 

O

IList<string> firstNames = people.Select(person => person.FirstName).ToList(); 
1
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
namespace TestProject 
{ 
    public partial class WebForm3 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      SampleDataContext context = new SampleDataContext(); 
      List<Employee> l = new List<Employee>(); 
      var qry = from a in context.tbl_employees where a.Gender=="Female" 
       orderby a.Salary ascending 
      select new Employee() { 
          ID=a.Id, 
          Fname=a.FName, 
          Lname=a.Lname, 
          Gender=a.Gender, 
          Salary=a.Salary, 
          DepartmentId=a.DeparmentId 
      }; 
      l= qry.ToList(); 
      var e1 = from emp in context.tbl_employees 
       where emp.Gender == "Male" 
       orderby emp.Salary descending 
       select emp; 
      GridView1.DataSource = l; 
      GridView1.DataBind(); 
     } 
    } 
    public class Employee 
    { 
     public Int64 ID { get; set; } 
     public String Fname { get; set; } 
     public String Lname { get; set; } 
     public String Gender { get; set; } 
     public decimal? Salary { get; set; } 
     public int? DepartmentId { get; set; } 
    } 
} 
0
using System.Collections.Generic; 
using System.Linq; 

IList<Person> people = new List<Person>(); 
IList<string> firstNames = people.Select(person => person.FirstName).ToList(); 
+0

Gracias por este fragmento de código, que podría proporcionar alguna ayuda limitada a corto plazo. Una explicación adecuada [mejoraría en gran medida] (https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) su valor a largo plazo al mostrar por qué esta es una buena solución al problema y lo haría más útil para futuros lectores con otras preguntas similares. Edite su respuesta para agregar alguna explicación, incluidas las suposiciones que ha realizado –

Cuestiones relacionadas