所以我有一个从0到4的二维字节数组,这些字节都是混乱的。我想要做的是指定一个字节值,例如3.然后我想得到数组中每3个的偏移量(x和y位置)并将它们放在一个列表(或另一个数组)中,这样我就可以迭代了通过所有3s。
我很确定这是可能的,我只是不知道该怎么做。我知道没有用于迭代多维数组的预构建方法,所以我必须编写一个方法来做到这一点。
总结:从2D数组中过滤特定类型的所有字节,并将它们的坐标(偏移)放在列表或另一个数组中。
答案 0 :(得分:1)
public class Vector2
{
public int X { get; set; }
public int Y { get; set; }
}
public List<Vector2> GetBytes(byte[,] array, byte value)
{
List<Vector2> list = new List<Vector2>();
int count;
for (int i = 0; i < XSize; i++)
for (int k = 0; k < YSize; k++)
if (array[i, k] == value)
list.Add(new Vector2 { X = i, Y = k });
return list;
}
这应该这样做。
已编辑,您可以看到以下值:
list[position].X
list[position].Y