c# - 数组项的排列

标签 c# algorithm permutation

如何获得计数为 2 的字符串数组的组合?即。

List<string> myString = {"a", "b", "c", "d", "f"};

一个排列看起来像这样:

ab ac ad af ba bc bd bf ca cb cd cf 等等……

我不知道如何开始这个算法。如果有帮助,我宁愿做一个循环而不是递归,因为在我的实际实现中,我必须为排列的项目分配一个值并将每个项目与另一个进行比较并选择最高的。

最佳答案

使用 Linq:

var result = 
    from a in myString
    from b in myString
    where a != b
    select a + b;

关于c# - 数组项的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635041/

相关文章:

java - 不使用数组从1到N的数列排列方法,java

C++ - 是否可以使用 random_shuffle 一次且仅一次生成数组的每个排列?

java - 如何用Java代码重写或转换C#代码?

c# - 打包个人 Windows 通用应用程序 windows.fullTrustProcess

c# - Unity3d 2D Raycast 有时会调用穿过 PolygonCollider2D 的点

C# - 连接事件期间出现 "Cross-thread operation not valid"错误

algorithm - 了解 Cormen 邮局定位解决方案

php - 飞镖游戏计算

java - Project Euler #14 输出的输出不正确

c - 从字符串中删除指定字符的有效方法