【发布时间】:2013-11-26 14:10:04
【问题描述】:
我有联系人列表:
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;
}
}
}
我在这里创建我的列表:
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));
现在我正在尝试使用 LINQ 在单独的列表中获取所有联系人的所有名字。
到目前为止我尝试过:
public List<string> FirstNames
{
get
{
return _contactList.Where(C => C.FirstName.ToList());
}
}
【问题讨论】:
-
只是给你班级中的访问者的一个注释,你可以简单地在一行上输入
public int Age {get; set; }all 而不是你所拥有的,因为你没有在访问者中执行任何其他操作。显然,它更短且更易于阅读。 -
Where 用于评估 Select 条件,例如:foreach contact where (firstname begin with "J") select (contact)