How to find Intersection of Two Sets in C# - Step by Step Examples



How to find Intersection of Two Sets in C# ?

Answer

In C#, you can use the LINQ library to find the intersection of two sets.



✐ Examples

1 Find Intersection of Two Sets using LINQ

In this example,

  1. We import the System.Linq namespace to access LINQ functionality.
  2. We define two sets, set1 and set2, using the HashSet class.
  3. We use LINQ's Intersect method to find the intersection of set1 and set2.
  4. The result of the intersection operation is stored in intersection.
  5. We iterate through the intersection set and print each element to display the intersection of the two sets.

C# Program

using System;
using System.Collections.Generic;
using System.Linq;

namespace SetIntersectionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            HashSet<int> set1 = new HashSet<int> { 1, 2, 3, 4 };
            HashSet<int> set2 = new HashSet<int> { 3, 4, 5, 6 };

            var intersection = set1.Intersect(set2);

            Console.WriteLine("Intersection of set1 and set2:");
            foreach (var item in intersection)
            {
                Console.WriteLine(item);
            }
        }
    }
}

Output

Intersection of set1 and set2:
3
4

2 Find Intersection of Two Sets using Custom Implementation

In this example,

  1. We create two sets, set1 and set2, using the HashSet class and add elements to them.
  2. We define a custom method named FindIntersection that takes two HashSet objects as input parameters.
  3. In the FindIntersection method, we iterate through set1 and check if each element is present in set2.
  4. If an element is found in both sets, it is added to a new HashSet named intersection.
  5. We return the intersection set containing the common elements.

C# Program

using System;
using System.Collections.Generic;

namespace SetIntersectionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            HashSet<int> set1 = new HashSet<int> { 1, 2, 3, 4 };
            HashSet<int> set2 = new HashSet<int> { 3, 4, 5, 6 };

            var intersection = FindIntersection(set1, set2);

            Console.WriteLine("Intersection of set1 and set2:");
            foreach (var item in intersection)
            {
                Console.WriteLine(item);
            }
        }

        static HashSet<int> FindIntersection(HashSet<int> set1, HashSet<int> set2)
        {
            HashSet<int> intersection = new HashSet<int>();
            foreach (var item in set1)
            {
                if (set2.Contains(item))
                {
                    intersection.Add(item);
                }
            }
            return intersection;
        }
    }
}

Output

Intersection of set1 and set2:
3
4

Summary

In this tutorial, we learned How to find Intersection of Two Sets in C# language with well detailed examples.




More C# Sets Tutorials

  1. How to create an Empty Set in C# ?
  2. How to Initialize a Set in C# ?
  3. How to Get Length of a Set in C# ?
  4. How to create a Set of size N in C# ?
  5. How to create a Set of Numbers from 1 to N in C# ?
  6. How to create a Set of integers in C# ?
  7. How to create a Set of Strings in C# ?
  8. How to Access Items in a Set in C# ?
  9. How to get a Random Item in a Set in C# ?
  10. How to Iterate Over a Set in C# ?
  11. How to check if a Set is Empty in C# ?
  12. How to check if a Set is Not Empty in C# ?
  13. How to get Subset from a Set in C# ?
  14. How to check if a Specific Item is present in the Set in C# ?
  15. How to check if a Set contains all the items of Another Set in C# ?
  16. How to Sort Items of a Set in C# ?
  17. How to Copy a Set in C# ?
  18. How to add an Item to a Set in C# ?
  19. How to find Union of Two Sets in C# ?
  20. How to find Intersection of Two Sets in C# ?
  21. How to check if Two Sets are Equal in C# ?
  22. How to Convert a Set of Integers to a Set of Strings in C# ?
  23. How to Convert a Set of Strings to a Set of Integers in C# ?
  24. How to Convert a Set of Floats to a Set of Strings in C# ?
  25. How to Convert a Set of Strings to a Set of Floats in C# ?
  26. How to Filter Items of a Set based on a Condition in C# ?
  27. How to Remove Specific Item from a Set in C# ?
  28. How to Remove Items from Set based on a Condition in C# ?
  29. How to create a Set of Sets in C# ?