C# Как переставить все элементы друг с другом в списке строк
У меня есть список строк, и я хочу, чтобы все перестановки всех элементов друг с другом
Пример :
var myList = new List<string>{ "AB", "CD", "EF", "GK" };
и в результате я хочу такую строку.
var resultStr = "ABCD,ABEF,ABGK,CDAB,CDEF,CDGK,EFAB,EFCD,EFGK,GKAB,GKCD,GKEF";
обратите внимание, что resultStr не включает "ABAB", "CDCD", "EFEF", "GKGK"
есть ли какой-нибудь короткий способ сделать это, кроме двойных циклов for/foreach?