Para el siguiente bloque de código:Comprobar si una cadena contiene un elemento de una lista (de cadenas)
For I = 0 To listOfStrings.Count - 1
If myString.Contains(lstOfStrings.Item(I)) Then
Return True
End If
Next
Return False
La salida es:
Caso 1:
myString: C:\Files\myfile.doc
listOfString: C:\Files\, C:\Files2\
Result: True
Caso 2:
myString: C:\Files3\myfile.doc
listOfString: C:\Files\, C:\Files2\
Result: False
La lista (listOfStrings) puede contener varios elementos (mínimo 20) y se debe comparar con miles de cadenas (como myString).
¿Existe alguna forma mejor (más eficiente) de escribir este código?
En lugar de que haría uso contiene StartsWith basado en sus ejemplos. – tvanfosson
@tvanfosson - eso depende de si los ejemplos son totalmente inclusivos, pero sí, estoy de acuerdo. Simple de cambiar, por supuesto. –
¿En qué medida es este código más eficiente en el nivel algorítmico? Es más corto y más rápido si los bucles en "Cualquiera" son más rápidos, pero el problema de que tiene que realizar una coincidencia exacta muchas veces es el mismo. –