Productos cartesianos con n número de lista

estoy teniendo

List<List<string>> AllSimilarWordsLists { get; set; }

Quiero generar una cadena a partir de estas palabras para que ninguna cadena esté duplicada y aquí duplicar significa que cada cadena debe contener palabras únicas

por ejemplo, si una vez generado 'Cómo estás', entonces 'cómo estás' no debería considerarse en el resultado '.

Puedo tener cualquier numero de lista

p.ej

List1   List2   List3   List4   List5
word11  word21  word21  word21  word51
word12  word22  word22  word22  word52
word13  word23  word23  word23  word53
word14  word24  word24  word24  word54
word15  word25  word25  word25  word55

Esta lista se agregará en AllSimilarWordsLists. Quiero generar una lista de cadenas con productos cartesianos. Han encontradoesta pero esta solución es tener un número fijo de listas, alguien que tenga ideas.

Respuestas a la pregunta(1)

Su respuesta a la pregunta