全部,我想知道是否有更好的方法从两个独立的List<T>
s获取匹配值的List<T>
。从匹配两个分开的列表中获取一个列表<T><T> s
如果我想找到字符串列表itemList<string>
(一个独特的列表),其是在另一个列表bankList<string>
所有项目我会做到这一点目前的方式(也不同,因此返回的列表也不同 - 没有重复)会
List<string> matchingList = new List<string>();
foreach (string s in itemList)
if (bankList.Contains(s))
matchingList.Add(s);
有没有更好和/或更快的方法来做到这一点?
扩展:我很欣赏的问题已回答(这是趁着),但出于利益考虑,会得到否定的最佳方式(即,这些项目不bankList<string>
)是
List<string> interList = new List<string>();
interList = itemList.Intersect(bankList).ToList<string>();
matchingList = itemList.Except(interList).ToList<string>();
或在这种情况下会是回到
List<string> matchingList = new List<string>();
foreach (string s in itemList)
if (!bankList.Contains(s))
matchingList.Add(s);
我认为,在这种情况下,有趣的可能是后者?
见我的编辑为您的第二个问题。一般来说,你应该提出一个新问题,而不是编辑一个新的问题。一旦你接受了你的问题的答案,大多数人都不会注意。 – jason 2012-03-30 16:07:20