With LINQ, and using C# (I don't know VB much these days):
bool b = listOfStrings.Any(s=>myString.Contains(s));
or (shorter and more efficient, but arguably less clear):
bool b = listOfStrings.Any(myString.Contains);
If you were testing equality, it would be worth looking at HashSet
etc, but this won't help with partial matches unless you split it into fragments and add an order of complexity.
update: if you really mean "StartsWith", then you could sort the list and place it into an array ; then use Array.BinarySearch
to find each item - check by lookup to see if it is a full or partial match.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…