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()); } }
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.
public List<string> FirstNames { get { return _contactList.Select(C => C.FirstName).ToList(); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With