C# int转成bool数组
时间: 2023-08-20 07:14:09 浏览: 240
可以使用以下代码将 C# 中的 int 类型转换为 bool 数组:
```
int num = 10;
bool[] boolArray = Convert.ToString(num, 2).PadLeft(8, '0').Select(c => c == '1').ToArray();
```
这里的 `Convert.ToString(num, 2)` 将数字转换为二进制字符串,`PadLeft(8, '0')` 在左侧填充 0,使其达到 8 位二进制数的长度,最后 `Select(c => c == '1')` 将字符串中的字符转换为 bool 类型的数组。
相关问题
C#怎么把BOOL数组转换成byte
可以使用以下代码将BOOL数组转换成byte数组:
```csharp
bool[] boolArray = new bool[] { true, false, true };
byte[] byteArray = new byte[(boolArray.Length + 7) / 8];
for (int i = 0; i < boolArray.Length; i++)
{
if (boolArray[i])
{
byteArray[i / 8] |= (byte)(1 << (i % 8));
}
}
```
这里的 `byteArray` 就是转换后的结果。需要注意的是,bool数组的长度必须是8的倍数,因为每个byte最多只能存储8个bool值。如果不是8的倍数,需要将byte数组的长度向上取整。
C#将bool数组转换为整型
要将bool数组转换为整型,可以使用LINQ的Select方法来逐个处理数组元素,并使用条件运算符将bool值转换为对应的整型值。下面是一个示例代码:
```csharp
using System;
using System.Linq;
public class Program
{
public static void Main()
{
bool[] boolArray = { true, false, true, true, false };
int[] intArray = boolArray.Select(b => b ? 1 : 0).ToArray();
foreach (int num in intArray)
{
Console.WriteLine(num);
}
}
}
```
在这个示例中,我们定义了一个bool数组`boolArray`,然后使用LINQ的Select方法对每个bool值进行转换。如果bool值为true,则转换为1;如果bool值为false,则转换为0。最后,通过ToArray方法将转换后的整型值存储在一个新的int数组`intArray`中,并使用foreach循环打印每个整型值。
输出结果为:
```
1
0
1
1
0
```
这样就完成了将bool数组转换为整型数组的操作。