我有下面的類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