How to create a Set of Sets in C# - Step by Step Examples



How to create a Set of Sets in C# ?

Answer

To create a set of sets in C#, you can use the HashSet class, which is a part of the System.Collections.Generic namespace. Each inner set can also be a HashSet.



✐ Examples

1 Creating a Set of Sets with Integers

In this example,

  1. First, include the necessary namespace by adding using System.Collections.Generic; at the top of your code file. This allows you to use the HashSet class.
  2. Then, create a new instance of a HashSet named setOfSets, where each element is another HashSet. This is done by declaring HashSet> setOfSets = new HashSet>();.
  3. Next, create a few inner sets. For example, HashSet set1 = new HashSet() { 1, 2, 3 }; initializes a set containing the integers 1, 2, and 3.
  4. Similarly, create another set like HashSet set2 = new HashSet() { 4, 5, 6 };.
  5. Add these inner sets to the outer set using the Add method: setOfSets.Add(set1); and setOfSets.Add(set2);.
  6. To demonstrate the structure, iterate over the outer set and print each inner set's elements. Use a nested foreach loop for this: foreach (var innerSet in setOfSets) followed by foreach (var item in innerSet).
  7. Print each item within the inner loop to display the elements of each inner set.

C# Program

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Step 1: Create the outer set of sets
        HashSet<HashSet<int>> setOfSets = new HashSet<HashSet<int>>();
        
        // Step 2: Create inner sets
        HashSet<int> set1 = new HashSet<int>() { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int>() { 4, 5, 6 };
        
        // Step 3: Add inner sets to the outer set
        setOfSets.Add(set1);
        setOfSets.Add(set2);
        
        // Step 4: Iterate and print the elements of each inner set
        foreach (var innerSet in setOfSets)
        {
            Console.WriteLine("Inner set:");
            foreach (var item in innerSet)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
    }
}

Output

Inner set:
1 2 3 
Inner set:
4 5 6

2 Creating a Set of Sets with Strings

In this example,

  1. Start by including the necessary namespace with using System.Collections.Generic;.
  2. Declare the outer set with HashSet> setOfSets = new HashSet>(); to hold sets of strings.
  3. Create inner sets, for example: HashSet set1 = new HashSet() { "apple", "banana" }; and HashSet set2 = new HashSet() { "cherry", "date" };.
  4. Add the inner sets to the outer set: setOfSets.Add(set1); and setOfSets.Add(set2);.
  5. To display the structure, use nested loops to iterate over the outer set and then over each inner set: foreach (var innerSet in setOfSets) and foreach (var item in innerSet).
  6. Print each item within the inner loop to show the elements of each inner set.

C# Program

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Step 1: Create the outer set of sets
        HashSet<HashSet<string>> setOfSets = new HashSet<HashSet<string>>();
        
        // Step 2: Create inner sets
        HashSet<string> set1 = new HashSet<string>() { "apple", "banana" };
        HashSet<string> set2 = new HashSet<string>() { "cherry", "date" };
        
        // Step 3: Add inner sets to the outer set
        setOfSets.Add(set1);
        setOfSets.Add(set2);
        
        // Step 4: Iterate and print the elements of each inner set
        foreach (var innerSet in setOfSets)
        {
            Console.WriteLine("Inner set:");
            foreach (var item in innerSet)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
    }
}

Output

Inner set:
apple banana 
Inner set:
cherry date

Summary

In this tutorial, we learned How to create a Set of 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# ?