LINQ provides native implementations for classic mathematical set operations. These are invaluable for comparing lists or merging data sources.
Combines two sequences and removes duplicates. It's different from Concat (which just appends everything). **Architect Note:** Like Distinct, Union uses a internal HashSet and is an O(N+M) operation.
Returns only the elements that appear in BOTH sequences. Perfect for finding 'Common Friends' or 'Shared Interests' between users.
Returns elements from the first sequence that do NOT appear in the second sequence. **Use Case:** Find 'Inactive Users' by taking (All Users) Except (Recent Logins).
Q: "Do these work on objects?"
Architect Answer: "Only if you implement GetHashCode and Equals correctly. If you don't want to change your class, use the **'By'** variants (added in .NET 6): UnionBy, IntersectBy, and ExceptBy. These allow you to compare based on a specific key (like Id) without custom comparers."