Linq 如何将一个列表中的项都相互组合一边?

boyyao 2021-02-26 03:55:37
比如我有如下List
{
{ id=1,Name=A },
{ id=2,Name=B },
{ id=3,Name=C },
{ id=4,Name=D },
{ id=5,Name=E },
{ id=6,Name=F },
}
想要得到 AB AC AD AE AF BC BD BE BF CD CE CF DE DF EF 这些个组合。
...全文
2413 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2021-02-26
  • 打赏
  • 举报
回复
在换个花样玩一下
  string[] lst = new string[] {"A", "B", "C", "D", "E", "F"};
            lst.ToObservable().SelectMany((s, i) => lst.Skip(i+1), (s1, i1, s2, i2) => s1 + s2).Subscribe(p =>
                {
                    Console.WriteLine(p);
                });
wanghui0380 2021-02-26
  • 打赏
  • 举报
回复
 string[] lst = new string[] {"A", "B", "C", "D", "E", "F"};
 var b = lst.SelectMany((s, i) => lst.Skip(i + 1), (a, b) => a + b);
 Console.WriteLine(string.Join(Environment.NewLine, b));
正怒月神 2021-02-26
  • 打赏
  • 举报
回复
static void Main(string[] args)
        {
            var q = from a in myList
                    from b in myList
                    select new { Name = a.Name + b.Name };
            q.ToList().ForEach(x =>
            {
                Console.WriteLine(x);
            });

            Console.ReadLine();
        }

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧