2012-04-25 13 views
30

Ho due array:intersezione di due array di stringhe (ignora caso)

string[] array1 = { "Red", "blue", "green", "black" }; 
string[] array2 = { "BlUe", "yellow", "black" }; 

devo solo le stringhe corrispondenti in un array (caso ignorando).

risultato dovrebbe essere:

string[] result = { "blue", "black" } or { "BlUe", "black" }; 

risposta

65

Come su un Enumerable.Intersect e StringComparer combinata:

// other options include StringComparer.CurrentCultureIgnoreCase 
// or StringComparer.InvariantCultureIgnoreCase 
var results = array1.Intersect(array2, StringComparer.OrdinalIgnoreCase); 
+0

Molto pulito grazie. – Gareth