C#将四个0和四个1随机排列组合
时间: 2024-09-15 17:03:42 浏览: 36
在C#中,如果你想将4个0和4个1随机排列并组合成8位二进制字符串,你可以创建两个数组分别存储0和1,然后使用Fisher-Yates洗牌算法(也称为Knuth洗牌法)对它们进行混合。以下是一个示例:
```csharp
using System;
using System.Linq;
class Program
{
static void Main()
{
string[] zeros = { "0", "0", "0", "0" };
string[] ones = { "1", "1", "1", "1" };
// 使用Fisher-Yates洗牌
Shuffle(zeros);
Shuffle(ones);
// 将两个数组拼接在一起
string result = String.Join("", zeros.Concat(ones));
Console.WriteLine($"随机排列后的八位二进制字符串:{result}");
}
static void Shuffle<T>(T[] array)
{
Random rng = new Random();
for (int i = array.Length - 1; i > 0; i--)
{
int j = rng.Next(i + 1);
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
```
这将生成一个随机的0和1的组合。
阅读全文