[英]Generic list: Add, Find, Delete C#
如何使用通用列表在WPF应用程序中添加多个客户详细信息?
每次单击按钮“添加”时,我都希望将用户输入的详细信息存储为新客户,然后通过仅输入ID号(由用户在输入详细信息时由用户组成)来显示特定客户。
我有用于存储客户详细信息的此类:
public class Customer
{
private int _customerID;
private string _name;
public int ID
{
get { return _customerID; }
set { _customerID = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
}
这是我的清单:
private List<Customer> _list = new List<Customer>();
这是添加方法:
public void add(Customer newCustomer)
{
_list.Add(newCustomer);
}
这是find方法:
public Customer find(int id)
{
foreach (Customer c in _list)
{
if (id == c.ID)
{
return c;
}
}
return null;
}
我不确定如何在点击事件“添加”和“查找”中实施它们
请帮助我对此感到非常沮丧,并且根据WPF中的常规列表,几乎没有资源。
您正在初始化一个新的Customer
并尝试查找ID
等于0
ID
,因为它是默认值。 即使找到一个客户,您对find方法返回的customer
无能为力。
您可以执行以下操作:
private void btnFind_Click(object sender, RoutedEventArgs e)
{
Customer customer = store.find(Int32.Parse(txtID.Text));
ClearCustomerFields();
if (customer != null)
{
FillCustomerFields(customer);
}
}
private void ClearCustomerFields()
{
txtID.Text = "";
txtName.Text = "";
}
private void FillCustomerFields(Customer customer)
{
txtID.Text = customer.ID.ToString();
txtName.Text = customer.Name;
}
查看LINQ 。 它是与可枚举(类似列表)类型进行交互的非常强大的工具。 您的find
方法可能是这样的:
public Customer find(int id)
{
return _list.FirstOrDefault(c => c.ID == id);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.