How to perform set subtraction on arrays in C#?

前端 未结 2 508
名媛妹妹
名媛妹妹 2021-01-04 03:09

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 <

2条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-04 03:40

    If you're using Linq, you can use the Except operator like this:

    string [] c = a.Except(b).ToArray();
    

    Edit: CodeInChaos makes a good point. If a contains duplicates, it will remove any duplicates as well. The alternative to make it function exactly like the Ruby version would be this:

    string [] c = a.Where(x=>!b.Contains(x)).ToArray();
    

提交回复
热议问题