KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I thought that I understood Intersect , but it turns out I was wrong. List<int> list1 = new List<int>() { 1, 2, 3, 2, 3}; List<int> list2 = new List<int>() { 2, 3, 4, 3, 4}; list1.Intersect(list2) => 2,3 //But what I want is: // => 2,3,2,3,2,3,3 I can figure a way like: var intersected = list1.Intersect(list2); var list3 = new List<int>(); list3.AddRange(list1.Where(I => intersected.Contains(I))); list3.AddRange(list2.Where(I => intersected.Contains(I))); Is there a easier way in LINQ to achieve this? I do need to state that I do not care in which order the results are given. 2,2,2,3,3,3,3 would also be perfectly OK. Problem is that I am using this on a very large collection, So I need efficiency. We are talking about Objects, not ints. The ints were just for the easy example, but I realize this can make a difference.
Tags (comma-separated)
Save Edits
Cancel