C# - 按文本为每个对象属性过滤对象列表

时间:2013-06-05 18:36:08

标签: c# search collections filter

我有一个从Entity Framework模型创建的对象列表,如下所示:

List<Model.Log> logs = db.Log.ToList();

我目前正在为此列表实现一些过滤器,这些过滤器显示在MVC视图中。

我想要做的只是通过用户输入的文本过滤此列表的结果,但是我发现的示例演示了对字符串或整数的过滤,而不是对象的多个属性。

我愿意使用不同的集合类型,只要有一种相对简单的方法可以通过对象属性的文本过滤集合。

非常感谢所有帮助!

1 个答案:

答案 0 :(得分:2)

一个非常简单和非常基本的实现方法是使用.Contains扩展名,例如

var r = db.Log.Where(q=>q.YourLogProperty.Contains(userEnteredText)).ToList();

...其中YourLogProperty是您要搜索的实际文字/字符串,userEnteredText是您用户的文字。