Puedes usar Comienza con dentro de un Ningún
listofItems.Where(item=>list.Any(startsWithWord=>item.StartsWith(startsWithWord)))
Puedes visualizar esto como un doble for
bucle, con el segundo for
estallar tan pronto como golpea un true
caso
var filteredList = new List<String>();
foreach(var item in listOfItems)
{
foreach(var startsWithWord in list)
{
if(item.StartsWith(startsWithWord))
{
filteredList.Add(item)
break;
}
}
}
return filteredList;