J'ai la liste des 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;
}
}
}
et ici je crée ma liste:
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));
En ce moment, j'essaye d'obtenir tous les prénoms de tous les contacts dans une liste séparée en utilisant LINQ.
Jusqu'à présent, j'ai essayé:
public List<string> FirstNames
{
get
{
return _contactList.Where(C => C.FirstName.ToList());
}
}
Vous voulez utiliser la méthode Select
, pas Where
ici:
_contactList.Select(C => C.FirstName).ToList();
De plus, le besoin de ToList()
n'existe que parce que property
l'exige. Vous pouvez retourner un IEnumerable<string>
À la place si vous voulez vous en débarrasser.
public List<string> FirstNames
{
get
{
return _contactList.Select(C => C.FirstName).ToList();
}
}