2009-09-22 11 views

Odpowiedz

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

I z sortowania

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

Dzięki. W jaki sposób mogę posortować alfabetycznie według imienia? – User

+0

Lista firstNames = people.Select (person => person.FirstName) .ToList(). Sort(); Zostanie posortowane przy użyciu domyślnego sortowania alfabetycznego ciągu znaków. –

+0

Sort() nie obsługuje płynnego interfejsu! Zadzwoń firstNames.Sort() oddzielnie – Dario

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

Używanie wyrażenia zapytania w tym przypadku to przesada, IMO. Notacja kropkowa ma mniej fluffa, jeśli masz tylko jedną prostą operację. –

+1

To prawda, ale pytanie brzmiało: "Jak można to zrobić" ... nie "Jak można to zrobić przy najmniejszej ilości puchu". Żaden brak szacunku, Jon. (Proszę, nie uderzaj mnie). –

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

Or

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

Dziękuję za ten fragment kodu, który może zapewnić krótkoterminową pomoc w ograniczonym zakresie. Właściwe wyjaśnienie [znacznie poprawiłoby się] (https://meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) na temat jego długoterminowej wartości, pokazując, dlaczego jest to dobre rozwiązanie problemu i sprawiłoby, że byłby bardziej przydatny dla przyszłych czytelników z innymi, podobnymi pytaniami. Zmodyfikuj odpowiedź, aby dodać wyjaśnienia, w tym założenia, które podjąłeś –

Powiązane problemy