转换 c# lambda 表达式

Conversion c# lambda expression

如何将这个请求res转换为res2? 我想通过查询浏览对象两次。

var res = (from t1 in lst
           from t2 in lst
           select new { t1, t2 }).ToList();

var res2 = lst.Select(t1=> x)
           lst.Select(t2x=> x)
           .......

我想在res2请求中获得与res1请求相同的结果,但是通过使用.Select(函数。我不知道怎么写res2

link 到 "Select" 函数:https://docs.microsoft.com/fr-fr/dotnet/api/system.linq.enumerable.select?view=netframework-4.7.2

var query =
    fruits.Select((fruit, index) =>
                  new { index, str = fruit.Substring(0, index) });

我想使用与请求 "res2" 的 Microsoft 示例相同的写法,但包含 2 次列表 "lst"。

如何做到超过 2 次,例如 3、4、...谢谢

var res2 = lst.SelectMany(x => lst, (t1, t2) => new { t1, t2 }).ToList();

var res = (from t1 in lst
           from t2 in lst
           from t3 in lst
           from t4 in lst
           select new { t1, t2, t3, t4 }).ToList();

交叉连接 LINQ

var res2 = lst.SelectMany(x => lst, (t1, t2) => new { t1, t2 });