pregunta principal:
Ok chicos, aquí está la situación, vamos a considerar 2 matrices de cadenas:Cómo comprobar si las cadenas en una matriz contienen cadenas de otra matriz
string foo = { "Roses are #FF0000" , "Violets are #0000FF", "Paint it #000000"}
string bar = { "Guns", "Roses", "Violets"}
¿Cuál es el "código de menor cantidad líneas "forma de recuperar cadenas en foo que contienen cadenas en la barra?
(es decir, en este caso, los 2 primeros elementos de foo)
Por supuesto que quiero evitar hacer toda la lógica "a mano", como estoy seguro de LINQ es más eficiente con la función de intersección, pero no sé cómo usarlo para realizar esta tarea precisa.
criterios de desempate:
1 - ¿Qué pasa si foo contiene cadenas que contienen más de un elemento de la barra,
string foo = { "Roses are #FF0000" , "Violets are #0000FF", "Paint it #000000"}
string bar = { "Roses", "Violets", "are"}
Y quiero evitar duplicados?
2 - ¿Qué sucede si tengo 2 matrices de "barras" que quiero verificar contra una matriz foo?
¿Es más eficiente fusionar bar1 y bar2 o realizar el filtro primero con bar1 y luego con bar2?
Gracias y divertirse contestar :-)
Sí esto funciona también (que era la sintaxis He estado usando hace un par de años), aunque es más rápido prescindir de las declaraciones select y from. Gracias. –
@Mika, prefiero la sintaxis de la consulta, especialmente cuando las consultas crecen más que este tamaño. Lo encuentro más legible –