【发布时间】:2015-01-05 12:49:05
【问题描述】:
我有一个客户列表,然后我查询该客户列表以根据国家代码提取一个客户数据。如何轻松完成这项任务。这是我的代码 sn-p
public class Customer
{
public string Name
{ get; set; }
public double Salary
{ get; set; }
public string CountryCode
{ get; set; }
}
private void button1_Click(object sender, EventArgs e)
{
List<Customer> oCust = new List<Customer>();
oCust.Add(new Customer { Name = "Tridip", Salary = 200, CountryCode = "GB" });
oCust.Add(new Customer { Name = "Ari", Salary = 200, CountryCode = "US" });
oCust.Add(new Customer { Name = "Dib", Salary = 200, CountryCode = "CA" });
Customer oCustomer = oCust.Where(x => x.CountryCode == "US");
}
这行给出错误Customer oCustomer = oCust.Where(x => x.CountryCode == "US");
我可以按照下面的方法来解决它
var oCustomer = oCust.Where(x => x.CountryCode == "US");
foreach (var item in oCustomer)
{
Customer _Cust = new Customer();
_Cust.Name = item.Name;
_Cust.Salary = item.Salary;
_Cust.CountryCode = item.CountryCode;
}
但我想知道在查询列表后是否有其他方法可以获取一个客户数据。 请用示例代码告诉我。还讨论了如何使用带有示例代码的自动映射器来解决上述场景。
谢谢
【问题讨论】:
-
因为 Where 返回 IEnumerable
,它可能有超过 1 个元素。更改单曲的第一个位置