使用LINQ Expression进行搜索

时间:2013-12-20 04:31:39

标签: c# linq

我遇到了一种情况,我需要在TextChanged事件的文本框中为用户输入的文本应用搜索功能。

我有一个返回我的模型对象的列表,我有一个名为TITLE的属性 在我的模特中。

我试着跟随我的Textchanged事件,

var o = objList.Where(p => p.TITLE.IndexOf(text1.Text)>0).ToObservableCollection<Model_Class>();

也尝试了,

var o = objList.Where(p => p.TITLE.Contains(text1.Text)).ToObservableCollection<Model_Class>();

但它没有返回任何记录,尽管它们是一条记录。

另外,如何使用Linq检索不区分大小写的结果?
提前谢谢!

2 个答案:

答案 0 :(得分:1)

尝试OrdinalIgnoreCase

var o = objList.Where(p => p.TITLE.IndexOf(text1.Text, StringComparison.OrdinalIgnoreCase) >= 0)
           .ToObservableCollection<Model_Class>();

答案 1 :(得分:0)

尝试将其全部切换为高位以消除区分大小写问题

var o = objList.Where(p => p.TITLE.ToUpper().Contains(text1.Text.ToUpper()))
               .ToObservableCollection<Model_Class>();