Get different and common items in two arrays with LINQ
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 -

 1. Get common items from `list1` and `list2` (eg. {"2", "3", "4"})
 2. 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?





Get different and common items in two arrays with LINQ
===

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 -

 1. Get common items from `list1` and `list2` (eg. {"2", "3", "4"})
 2. 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?




