So I wrote this simple console app to aid in my question asking. What is the proper way to use a lambda expression on line 3 of the method to get the common members. Tried a Join() but couldn’t figure out the correct syntax. As follow up… is there a non-LINQ way to do this in one line that I missed?
class Program
{
static void Main(string[] args)
{
List<int> c = new List<int>() { 1, 2, 3 };
List<int> a = new List<int>() { 5, 3, 2, 4 };
IEnumerable<int> j = c.Union<int>(a);
// just show me the Count
Console.Write(j.ToList<int>().Count.ToString());
}
}
You want
Intersect():Here’s an
OrderedIntersect()example based on the ideas mentioned in the comments. If you know your sequences are ordered it should run faster —O(n)rather than whatever.Intersect()normally is (don’t remember off the top of my head). But if you don’t know they are ordered, it likely won’t return correct results at all: