Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get specific property from all items from the list

Tags:

c#

.net

list

linq

I have list of Contacts:

public class Contact {     private string _firstName;     private string _lastName;     private int _age;      /// <summary>     /// Constructor     /// </summary>     /// <param name="fname">Contact's First Name</param>     /// <param name="lname">Contact's Last Name</param>     /// <param name="age">Contact's Age</param>     public Contact(string fname, string lname, int age)     {         _firstName = fname;         _lastName = lname;         _age = age;     }      /// <summary>     /// Contact Last Name     /// </summary>     public string LastName     {         get         {             return _lastName;         }         set         {             _lastName = value;         }     }      /// <summary>     /// Contact First Name     /// </summary>     public string FirstName     {         get         {            return _firstName;         }         set         {             _firstName = value;         }     }      /// <summary>     /// Contact Age     /// </summary>     public int Age     {         get         {             return _age;         }         set         {             _age = value;         }     } } 

and here I am creating my list:

private List<Contact> _contactList; _contactList = new List<Contact>(); _contactList.Add(new Contact("John", "Jackson", 45)); _contactList.Add(new Contact("Jack", "Doe", 20)); _contactList.Add(new Contact("Jassy", "Dol", 19)); _contactList.Add(new Contact("Sam", "Josin", 44)); 

Right now I am trying to get all the first names of all the contacts in separate list using LINQ.

So far I tried:

    public List<string> FirstNames     {         get         {            return _contactList.Where(C => C.FirstName.ToList());         }     } 
like image 390
inside Avatar asked Nov 13 '13 19:11

inside


2 Answers

You want to use the Select method, not Where here:

_contactList.Select(C => C.FirstName).ToList(); 

Further, the need for the ToList() only exists because the property demands it. You could return an IEnumerable<string> instead if you wanted to get rid of that.

like image 144
Mike Perrenoud Avatar answered Sep 25 '22 15:09

Mike Perrenoud


public List<string> FirstNames {     get     {        return _contactList.Select(C => C.FirstName).ToList();     } } 
like image 37
Reda Avatar answered Sep 22 '22 15:09

Reda