var list=alist.Contains(\"somestring\")
this matches whole string, how to see if any word in list has a substring matching \"somestring\"?
You can use the Enumerable.Any method:
bool contained = alist.Any( l => l.Contains("somestring") );
This is checking each element using String.Contains, which checks substrings. You previously were using ICollection.Contains(), which checks for a specific element of the list.