using System.Linq;
var a = new byte?[][,]{
new byte?[,]{{1}},
new byte?[,]{{1}},
new byte?[,]{{2}},
new byte?[,]{{1, 2, 3}, {4, 5, 6}}};
a = a.Distinct().ToArray();
ただし、「a」にはまだ重複が含まれています。私はこれを正しくやっていますか?
ありがとう。回答の情報から。
class Nullable_Byte_2D_Array_EqualityComparer : IEqualityComparer<byte?[,]>
{
public bool Equals(byte?[,] a, byte?[,] b)
{
var r = a.GetLength(0) == b.GetLength(0) &&
a.GetLength(1) == b.GetLength(1);
if (r)
{
var v = new byte?[a.Length];
byte n = 0;
foreach (byte? c in a)
{
v[n] = c;
n++;
}
n = 0;
foreach (byte? c in b)
{
if (c != v[n])
r = false;
n++;
}
}
return r;
}
}
と
a = a.Distinct(new Nullable_Byte_2D_Array_EqualityComparer()).ToArray();