Если ваш вопрос состоит в том, чтобы узнать количество уникальных одномерных массивов, вы можете сделать следующее:
A.Distinct().Count()
Это следует сделать, потому что равенство массивов по умолчанию работает на равенство ссылок.
Но, возможно, вы ищете:
A.Distinct().Sum(oneDimArray => oneDimArray.Length) * sizeof(byte)
Конечно, «количество байтов, используемых переменными» - это несколько неточный термин.В частности, вышеприведенное выражение не учитывает хранение переменной A
, ссылки в зубчатом массиве, накладные расходы, выравнивание и т. Д.
РЕДАКТИРОВАТЬ: Как указывает Роб, вам может понадобиться фильтрация1012 * ссылается, если jagged-массив может содержать их.
Вы можете оценить стоимость хранения ссылок в jagged-массиве с помощью (unsafe
context):
A.Length * sizeof(IntPtr)