使用Enumerable.Repeat将C#中一个bool二维数组,某一行赋值false
时间: 2024-09-25 19:06:45 浏览: 39
在C#中,如果你有一个布尔二维数组,想要将其中某一行的所有元素设置为`false`,你可以使用`Enumerable.Repeat`方法结合`Array.Copy`或者直接遍历数组。这里是一个示例:
```csharp
using System;
using System.Linq;
public class Program
{
public static void Main()
{
// 假设我们有一个布尔二维数组
bool[,] myBoolArray = new bool[3, 4] { { true, true, true, true }, { true, false, true, true }, { true, true, true, true } };
// 确定要置为false的行索引
int rowIndexToZero = 1; // 我们要将第二行置为false
// 使用Enumerable.Repeat创建一个全为false的一维数组,长度等于原数组的那一行的长度
var falses = Enumerable.Repeat(false, myBoolArray.GetLength(1)).ToArray();
// 如果你想保留原始数组,可以复制这一行
Array.Copy(falses, 0, myBoolArray[rowIndexToZero, :], 0, falses.Length);
// 或者直接在二维数组上操作(如果不需要保留原始数组)
for (int i = 0; i < falses.Length; i++)
{
myBoolArray[rowIndexToZero, i] = falses[i];
}
// 输出处理后的数组
for (int i = 0; i < myBoolArray.GetLength(0); i++)
{
for (int j = 0; j < myBoolArray.GetLength(1); j++)
{
Console.Write(myBoolArray[i, j] ? "true" : "false ");
}
Console.WriteLine();
}
}
}
```
运行上述代码后,原数组的指定行会被设置为全False。
阅读全文