我有下面的类LINQ的选择,其中在列表
public class Group
{
public string Id { get; set; }
public string Name { get; set; }
}
和2列出List<string> groupRestrict
和List<Group> groups
现在组列表包含一些团体已填写所有领域,我想选择的所有限制groupRestrict列表只包含组的名称。
我尝试了一些东西,但出于某些原因,它总是返回一个空列表。这是我的最后一次测试:
var lst = groups.Where(j => groupRestrict.Contains(j.Name)).ToList();
任何线索可能什么错?
编辑:像评论说,这应该有工作,这是有一些'
输入,但现在我想有该groupRestrict不必是确切的名称,但可以用'像'功能。
当前表达式:
var restrictedGroups = (from gr in groupRestrict join g in groups on gr equals g.Name select g).ToList();
请注意,这是一个bigO--而是在HashSet(或Dictionary)上执行此查询并考虑使用'.Join'或'.GroupJoin'(无论您想要左连接还是全连接) – 2015-02-23 13:01:16
@AndreasNiedermair它是不在SQL数据库上,如果这是你所指的:) – Kiwi 2015-02-23 13:02:54
这应该工作。请注意,字符串比较默认情况下区分大小写。 – helb 2015-02-23 13:03:12