c#三个一维数组遍历,每个数组任选一个数,写出所有排列组合
时间: 2024-09-10 11:29:35 浏览: 82
在 C# 中,如果你有三个一维整数数组 A、B 和 C,并想要遍历并获取每个数组中选择的一个元素的所有可能组合,你可以使用嵌套循环和数组下标的方式来实现。这里是一个简单的示例:
```csharp
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
int[] arrayA = { 1, 2, 3 };
int[] arrayB = { 4, 5, 6 };
int[] arrayC = { 7, 8, 9 };
for (int i = 0; i < arrayA.Length; i++)
{
for (int j = 0; j < arrayB.Length; j++)
{
for (int k = 0; k < arrayC.Length; k++)
{
Console.WriteLine($"Array A: {arrayA[i]}, Array B: {arrayB[j]}, Array C: {arrayC[k]}");
}
}
}
// 如果你想生成所有可能的三元组而不是单个数组的值,可以使用 LINQ 的 Zip 方法替代上面的循环
// 但这会生成三维数组的组合,而不是独立的数组元素
// var combinations = Enumerable.Range(0, arrayA.Length)
// .Zip(Enumerable.Range(0, arrayB.Length), (a, b) => new[] { arrayA[a], arrayB[b] })
// .Zip(Enumerable.Range(0, arrayC.Length), (pair, c) => pair.Concat(new[] { arrayC[c] }));
// foreach (var combination in combinations)
// {
// Console.WriteLine(string.Join(", ", combination));
// }
}
}
```
这个程序将打印出 A、B 和 C 数组中所有可能的一对一对的元素组合。如果你想得到所有的三元组组合,需要使用更复杂的代码,如上文提到的 LINQ 方法。
阅读全文