【发布时间】:2014-06-04 09:54:29
【问题描述】:
我有一个列表,其中包含一个逗号分隔的字符串值,其中包含标签。
我想根据这个逗号分隔字符串中的值过滤列表。
列表中的逗号分隔字符串通常如下所示:
list.Tags = "Tag 1, Tag2, Another Tag"
我尝试了以下方法,但收到未设置为实例的对象引用错误。 NextDate 只是一个返回列表中适当项目的子句,现在需要找到匹配的“标签”。我只会搜索 1 个标签。
list = list.Where(x => x.NextDate >= todaysDate).Where(x => x.Tags.Contains("Tag 1")).ToList();
有什么想法可以为某个标签过滤我的列表吗?
[重复的问题没有回答我的问题,我正在尝试获取正确的语法来过滤我的列表,但该问题无济于事。我的问题与 Linq 语法有关]
【问题讨论】:
-
这个 Linq 将在内存中执行还是针对数据库执行?如果你在内存中工作,你可以简单地使用 list.Tags.Split(',')
-
如果标签是“标签 10”,您的方法将不起作用,因此按照 Moeri 提到的方式拆分它。