Bird
Raised Fist0
C Sharp (C#)programming~10 mins

Set operations (Union, Intersect, Except) in C Sharp (C#) - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Set operations (Union, Intersect, Except)
Start with two sets
↓
Choose operation
↓
Union
↓
Combine all
↓
Result set
Start with two sets, pick an operation: union combines all unique elements, intersect finds common elements, except finds elements only in the first set.
Execution Sample
C Sharp (C#)
var setA = new HashSet<int> {1, 2, 3};
var setB = new HashSet<int> {2, 3, 4};
var union = setA.Union(setB);
var intersect = setA.Intersect(setB);
var except = setA.Except(setB);
This code creates two sets and finds their union, intersection, and difference.
Execution Table
StepOperationInput SetsResultExplanation
1Union{1,2,3} and {2,3,4}{1,2,3,4}All unique elements combined from both sets
2Intersect{1,2,3} and {2,3,4}{2,3}Only elements present in both sets
3Except{1,2,3} except {2,3,4}{1}Elements in first set not in second
4End--All operations completed
💡 All set operations completed with results shown
Variable Tracker
VariableStartAfter UnionAfter IntersectAfter Except
setA{1,2,3}{1,2,3}{1,2,3}{1,2,3}
setB{2,3,4}{2,3,4}{2,3,4}{2,3,4}
unionN/A{1,2,3,4}{1,2,3,4}{1,2,3,4}
intersectN/AN/A{2,3}{2,3}
exceptN/AN/AN/A{1}
Key Moments - 3 Insights
Why does the union result include all elements without duplicates?
Because union combines all unique elements from both sets, as shown in execution_table step 1 where {1,2,3,4} contains no repeats.
Why does intersect only show {2,3} and not {1} or {4}?
Intersect returns only elements present in both sets, so {2,3} appear in both setA and setB, as seen in execution_table step 2.
Why does except return only {1}?
Except returns elements in the first set that are not in the second, so {1} is unique to setA, shown in execution_table step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the result of the intersect operation at step 2?
A{1,2,3,4}
B{2,3}
C{1}
D{3,4}
💡 Hint
Check the 'Result' column for step 2 in the execution_table.
At which step does the except operation produce its result?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look for 'Except' in the 'Operation' column in execution_table.
If setB was {3,4,5} instead of {2,3,4}, what would be the union result at step 1?
A{1,2,3,4}
B{1,3,4,5}
C{1,2,3,4,5}
D{2,3,4,5}
💡 Hint
Union combines all unique elements from both sets; check variable_tracker for union values.
Concept Snapshot
Set operations combine or compare sets:
- Union: all unique elements from both sets
- Intersect: only elements in both sets
- Except: elements in first set not in second
Use HashSet methods: Union(), Intersect(), Except()
Results are new sets without duplicates.
Full Transcript
This visual execution shows how set operations work in C#. We start with two sets, setA and setB. Union combines all unique elements from both sets into one set. Intersect finds only the elements that appear in both sets. Except finds elements that are in the first set but not in the second. The execution table traces each operation step-by-step, showing inputs and results. The variable tracker shows how variables hold their values through the steps. Key moments clarify common confusions about why union has no duplicates, why intersect only shows common elements, and why except returns unique elements from the first set. The quiz tests understanding by asking about results at specific steps and changes if inputs change. This helps beginners see exactly how set operations behave in code.

Practice

(1/5)
1.

Which set operation in C# returns all unique elements from two collections combined?

easy
A. Union
B. Intersect
C. Except
D. Concat

Solution

  1. Step 1: Understand the meaning of Union

    Union combines all unique elements from both collections without duplicates.
  2. Step 2: Compare with other operations

    Intersect returns only common elements, Except returns elements only in the first collection, and Concat just joins collections without removing duplicates.
  3. Final Answer:

    Union -> Option A
  4. Quick Check:

    Union = all unique elements combined [OK]
Hint: Union = combine all unique items from both sets [OK]
Common Mistakes:
  • Confusing Union with Intersect
  • Thinking Concat removes duplicates
  • Mixing Except with Union
2.

Which of the following is the correct syntax to get the intersection of two sets setA and setB in C#?

var result = ???;
easy
A. setA.Join(setB)
B. setA.Intersect(setB)
C. setA.Except(setB)
D. setA.Union(setB)

Solution

  1. Step 1: Identify method for intersection

    The Intersect method returns elements common to both collections.
  2. Step 2: Verify syntax correctness

    setA.Intersect(setB) is the correct syntax; Union and Except do different operations, and Join is unrelated.
  3. Final Answer:

    setA.Intersect(setB) -> Option B
  4. Quick Check:

    Intersect = common elements [OK]
Hint: Use Intersect() to find common elements between sets [OK]
Common Mistakes:
  • Using Union instead of Intersect
  • Trying to use Join for sets
  • Incorrect method call syntax
3.

What is the output of the following C# code?

var setA = new HashSet<int>() {1, 2, 3, 4};
var setB = new HashSet<int>() {3, 4, 5, 6};
var result = setA.Except(setB);
Console.WriteLine(string.Join(",", result));
medium
A. 1,2,5,6
B. 3,4
C. 5,6
D. 1,2

Solution

  1. Step 1: Understand Except operation

    Except returns elements in the first set that are not in the second set.
  2. Step 2: Apply Except to given sets

    setA has 1,2,3,4; setB has 3,4,5,6; elements in setA but not in setB are 1 and 2.
  3. Final Answer:

    1,2 -> Option D
  4. Quick Check:

    Except = elements only in first set [OK]
Hint: Except returns items only in first set, not in second [OK]
Common Mistakes:
  • Confusing Except with Intersect
  • Including elements from second set
  • Expecting all unique elements combined
4.

Find the error in this C# code snippet that tries to get the union of two sets set1 and set2:

var set1 = new HashSet<string>() {"apple", "banana"};
var set2 = new HashSet<string>() {"banana", "cherry"};
var result = set1.Union(set2).ToList();
Console.WriteLine(result);
medium
A. Union method does not exist for HashSet
B. ToList() should be called before Union
C. Console.WriteLine cannot print a List directly
D. HashSet cannot contain strings

Solution

  1. Step 1: Check method usage

    Union exists and works on HashSet; ToList() is valid after Union.
  2. Step 2: Identify Console.WriteLine issue

    Console.WriteLine cannot print a List directly; it prints the type name instead.
  3. Final Answer:

    Console.WriteLine cannot print a List directly -> Option C
  4. Quick Check:

    Printing List needs string.Join or loop [OK]
Hint: Use string.Join to print collections, not Console.WriteLine directly [OK]
Common Mistakes:
  • Assuming Union is invalid for HashSet
  • Calling ToList before Union
  • Thinking HashSet can't hold strings
5.

You have two lists of integers representing IDs: list1 = {1, 2, 3, 4, 5} and list2 = {4, 5, 6, 7}. You want to find IDs that are either in list1 or list2 but not in both (exclusive or). Which C# code snippet correctly achieves this using set operations?

hard
A. var result = list1.Except(list2).Union(list2.Except(list1));
B. var result = list1.Intersect(list2).Except(list1.Union(list2));
C. var result = list1.Union(list2).Except(list1.Except(list2));
D. var result = list1.Except(list2).Intersect(list2.Except(list1));

Solution

  1. Step 1: Understand exclusive or (XOR) logic

    XOR means elements in one set or the other but not both.
  2. Step 2: Analyze each option

    var result = list1.Union(list2).Except(list1.Except(list2)); subtracts elements unique to list1 from the union, leaving common and list2-unique elements - incorrect. var result = list1.Except(list2).Union(list2.Except(list1)); combines elements unique to each list using Except and Union, which directly matches XOR.
  3. Final Answer:

    var result = list1.Except(list2).Union(list2.Except(list1)); -> Option A
  4. Quick Check:

    XOR = unique elements from each set combined [OK]
Hint: XOR = (A except B) union (B except A) [OK]
Common Mistakes:
  • Using Intersect instead of Except for uniqueness
  • Confusing union and intersection order
  • Trying to intersect except results
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard