C#: How to convert a list of objects to a list of a single property of that object?

前端 未结 6 1761
失恋的感觉
失恋的感觉 2020-11-30 02:31

Say I have:

IList people = new List();

And the person object has properties like FirstName, LastName, and Gende

相关标签:
6条回答
  • 2020-11-30 03:17
    using System.Collections.Generic;
    using System.Linq;
    
    IList<Person> people = new List<Person>();
    IList<string> firstNames = people.Select(person => person.FirstName).ToList();
    
    0 讨论(0)
  • 2020-11-30 03:20

    This will turn it to a list:

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

    This will return one (the first one):

    var firstname = people.select(e => e.firstname).FirstOrDefault();
    
    0 讨论(0)
  • 2020-11-30 03:21
    IList<string> firstNames = (from person in people select person.FirstName).ToList();
    

    Or

    IList<string> firstNames = people.Select(person => person.FirstName).ToList();
    
    0 讨论(0)
  • 2020-11-30 03:24
    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 讨论(0)
  • 2020-11-30 03:31
    List<string> firstNames = people.Select(person => person.FirstName).ToList();
    

    And with sorting

    List<string> orderedNames = people.Select(person => person.FirstName).OrderBy(name => name).ToList();
    
    0 讨论(0)
  • 2020-11-30 03:31
    firstNames = (from p in people select p=>p.firstName).ToList();
    
    0 讨论(0)
提交回复
热议问题