繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM