What's the simplest way to perform a set subtraction given two arrays in C#? Apparently this is dead easy in Ruby. Basically I just want to remove the elements from array a that are in array b:
string[] a = new string[] { "one", "two", "three", "four" };
string[] b = new string[] { "two", "four", "six" };
string[] c = a - b; // not valid
c should equal { "one", "three" }. b - a would yield { "six" }.
If you're using Linq, you can use the Except operator like this:
Edit: CodeInChaos makes a good point. If
acontains duplicates, it will remove any duplicates as well. The alternative to make it function exactly like the Ruby version would be this: