Q:

check a string array from a list contains a string from another list or vice versa

Is there a easy way to do this using linq? 
I want to check and return true or false, whether any string from list1 contains a string from array1. In the below example that would be string2value and i would want to return true. 
Also similarly i want to check whether any array1 would contain a string from list1. That would be string1blah and so that would return true as well. Thanks!
List<string> list1 = new List<string>{"string1","string2value"};

string[] array1 = new string[2] {"string1blah","string2"};

I have a couple of versions, but it does not work all the time. 
array1.ToList().Any(a=>list1.Contains(a))
list1.Any(l=>array1.ToList().Contains(l))

A:

You can try this:
var result= list1.Where(s=>array1.Any(s1=>s.Contains(s1)));

Per each string in the list1, you see if there is an element in array1 that is contained in s string.

