Удалить повторяющиеся элементы. 2-х кратная вложенность. Список List - C#
Формулировка задачи:
Есть структура типа:
Её надо во что-то вытащить такое, чтобы без полного перебора удалить повторяющиеся массивы byte[].
Ну или с циклами...
List<List<byte[]>> Sostoyania_Byte = new List<List<byte[]>>();
Решение задачи: «Удалить повторяющиеся элементы. 2-х кратная вложенность. Список List»
textual
Листинг программы
class BytesComparer : IEqualityComparer<byte[]>
{
public bool Equals(byte[] x, byte[] y) => x.SequenceEqual(y);
public int GetHashCode(byte[] x) => 0
}
void Main()
{
var matrix = new List<List<byte[]>>()
{
new List<byte[]>
{
new byte[] {1, 2, 3},
new byte[] {1, 2}
},
new List<byte[]>
{
new byte[] {1, 2},
new byte[] {1, 2, 3, 4}
}
};
var diversity = matrix.SelectMany(list => list)
.Distinct(new BytesComparer())
}