C# 合并两个二维字节数组(补零)
C# Combine two 2D byte arrays (Filling in zeros)
我有两个要合并的二维字节数组。例如:
2D array1: 2D array2: Combined array3:
[1][0][1] [0][1][0] [1][1][1]
[0][0][0] [1][0][1] => [1][0][1]
[1][0][1] [0][1][0] [1][1][1]
我这样试过:
for(int i = 0; i < array3.GetLength(0); i++)
{
for(int j = 0; j < array3.GetLength(1); j++)
{
// Missing a cast
array3[i, j] = array1[i, j] + array2[i, j];
}
}
注释下面的行说它不能从int
转换为byte
。我正在读这个:byte + byte = int... why?,但仍然无法弄清楚我想要完成什么。
我将如何结合它们?提前致谢!
试试这个以获得你想要的输出:
for(int i = 0; i < array3.GetLength(0); i++)
{
for(int j = 0; j < array3.GetLength(1); j++)
{
// All you need to do is cast the int to a byte.
array3[i, j] = (byte)((array1[i, j] == 0) ? array2[i, j] : array1[i, j]);
}
}
添加 array1[i, j]
和 array2[i, j]
可以得到 2
,这不是您想要的示例。
我有两个要合并的二维字节数组。例如:
2D array1: 2D array2: Combined array3:
[1][0][1] [0][1][0] [1][1][1]
[0][0][0] [1][0][1] => [1][0][1]
[1][0][1] [0][1][0] [1][1][1]
我这样试过:
for(int i = 0; i < array3.GetLength(0); i++)
{
for(int j = 0; j < array3.GetLength(1); j++)
{
// Missing a cast
array3[i, j] = array1[i, j] + array2[i, j];
}
}
注释下面的行说它不能从int
转换为byte
。我正在读这个:byte + byte = int... why?,但仍然无法弄清楚我想要完成什么。
我将如何结合它们?提前致谢!
试试这个以获得你想要的输出:
for(int i = 0; i < array3.GetLength(0); i++)
{
for(int j = 0; j < array3.GetLength(1); j++)
{
// All you need to do is cast the int to a byte.
array3[i, j] = (byte)((array1[i, j] == 0) ? array2[i, j] : array1[i, j]);
}
}
添加 array1[i, j]
和 array2[i, j]
可以得到 2
,这不是您想要的示例。