wpf搜索集合

时间:2013-01-03 14:00:48

标签: wpf search collections

如何搜索我的收藏品?

无法让它工作......我不必这样做:

            Contacts c = new Contacts();

        if (c.Contact_name == "Test") {
            MessageBox.Show("exists!");
        }

不起作用: - )

public ObservableCollection<Contacts> contacts = new ObservableCollection<Contacts>();


    class Contacts
{
    public string Contact_id { get; set; }
    public string Contact_name { get; set; }
}

1 个答案:

答案 0 :(得分:0)

您正在将c设置为Contacts的新实例,该实例未将Contact_name属性设置为任何内容...

如果您正在尝试搜索特定联系人的集合,最简单的方法可能是使用以下Linq语句,该语句将返回与您的条件匹配的收集中的第一个对象,或null如果没有找到对象

contacts.FirstOrDefault(p => p.Contact_name == "Test");

根据您的需要,还有其他Linq扩展可能更适合您,例如.Exists()如果您只想知道某个项目是否存在

如果您没有使用Linq,最简单的方法是使用循环

foreach(var c in contacts)
{
    if (c.Contact_name == "Test") {
        MessageBox.Show("exists!");
    }
}
相关问题