Get different and common items in two arrays with LINQ
c#, linq
Solution
Somehow you have got that result from somewhere else. (Perhaps you are writing out the contents of `listDIff` first, and thought that it was from `listCommon`.) The `Intersect` method does give you the items that exists in both lists:
var list1 = new string[] {"1", "2", "3", "4", "5", "6"};
var list2 = new string[] {"2", "3", "4"};
var listCommon = list1.Intersect(list2);
foreach (string s in listCommon) Console.WriteLine(s);
Output:
2
3
4
Problem
For example, I have two arrays: ``` var list1 = string[] {"1", "2", "3", "4", "5", "6"}; var list2 = string[] {"2", "3", "4"}; ``` What I'm trying to do is - - Get common items from `list1` and `list2` (eg. {"2", "3", "4"}) - Get different items `list1` and `list2` (eg. {"1", "5", "6"}) So I've tried with LINQ and - ``` var listDiff = list1.Except(list2); //This gets the desire result for different items ``` But, ``` var listCommon = list1.Intersect(list2); //This doesn't give me desire result. Comes out as {"1", "5", "6", "2", "3", "4"}; ``` Any ideas?