2012-03-14 14 views
23

Así que, obviamente, esto es fácilmente factible con un par de bucles foreach, pero recién comencé a usar C# después de años de Java y ahora estoy intentando rellenar todo porque es tan genial.LINQ: Consulta si la colección contiene algún elemento en otra colección

Tengo dos ICollections of strings, y quiero verificar si una colección contiene alguna de las cadenas en la otra. Dicho de otra manera, quiero verificar si la unión de las dos colecciones está vacía o no.

En este caso, en realidad no me preocupo por CUALQUIER cadena que coincida, solo si existe una coincidencia o no. Supongo que Any es el método clave aquí, pero no puedo entender cómo hacer lo que quiero con él. Estoy seguro de que la solución es bastante simple; Simplemente no estoy muy familiarizado con la construcción de consultas.

Respuesta

53
if (a.Intersect(b).Any()) 

+0

impresionante; ¡muchas gracias! No me di cuenta de que ninguno sin argumentos verifica el vacío; Solo lo he visto usar con un argumento lambda. También ahora me siento como un idiota por mezclar la unión y la intersección ... – InsqThew

Cuestiones relacionadas