两个字符串数组的交集(忽略大小写)

Ali*_*Ali 41 .net c# linq intersection

我有两个数组:

string[] array1 = { "Red", "blue", "green", "black" };
string[] array2 = { "BlUe", "yellow", "black" };
Run Code Online (Sandbox Code Playgroud)

我只需要一个数组中的匹配字符串(忽略大小写).

结果应该是:

string[] result = { "blue", "black" } or { "BlUe", "black" };
Run Code Online (Sandbox Code Playgroud)

use*_*116 84

一个Enumerable.IntersectStringComparer组合怎么样:

// other options include StringComparer.CurrentCultureIgnoreCase
// or StringComparer.InvariantCultureIgnoreCase
var results = array1.Intersect(array2, StringComparer.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,对于大小写,`results` 将包含来自 `array1` 的值而不是 `array2`。 (5认同)