kurasa
kurasa

Reputation: 5323

How can I compare two sets of data in linq and return the common data?

I have two IList<string> a and b. I want to find out what strings are in both a and b using LINQ.

Upvotes: 4

Views: 896

Answers (1)

Mark Byers
Mark Byers

Reputation: 838696

Use Intersect:

Produces the set intersection of two sequences.

a.Intersect(b)

Example usage:

IList<string> a = new List<string> { "foo", "bar", "baz" };
IList<string> b = new List<string> { "baz", "bar", "qux" };

var stringsInBoth = a.Intersect(b);

foreach (string s in stringsInBoth)
{
    Console.WriteLine(s);
}

Output:

bar
baz

Upvotes: 9

Related Questions