通用列表:添加、查找、删除C#

通用列表:添加、查找、删除C#,c#,wpf,list,generics,click,C#,Wpf,List,Generics,Click,如何使用通用列表在WPF应用程序中添加多个客户详细信息 每次单击“添加”按钮时,我都希望将用户输入的详细信息存储为新客户,然后可能只输入id号(由用户在输入详细信息时填写)来显示特定客户 我有此类用于存储客户详细信息: public class Customer { private int _customerID; private string _name; public int ID { get { return _customerID; }

如何使用通用列表在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 Customer find(int id)
        {
            foreach (Customer c in _list)
            {
                if (id == c.ID)
                {
                    return c;

                }
            }

            return null;

        }
我不知道如何在我的点击事件“添加”和“查找”中实现它们


请帮助我,我对此非常失望,根据WPF中的通用列表,几乎没有任何资源。

您正在初始化一个新的
客户,并试图找到一个
ID
等于
0
的客户,因为这是默认值。即使您找到了一个,您对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;
}
退房。它是与可枚举(类似列表)类型交互的非常强大的工具。 您的
find
方法可能就是这样:

public Customer find(int id)
{
    return _list.FirstOrDefault(c => c.ID == id);
}

请附上申请表的视觉部分好吗?
public Customer find(int id)
{
    return _list.FirstOrDefault(c => c.ID == id);
}