Как определить размер заполненной структуры? - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток Есть структура
        public struct dataCFG
        {
            public string serialNumDdevice;
            public ArrayList numWhiteListAbonent;
        }
 
        public dataCFG _dataCFG = new dataCFG();
После заполнения полей структуры необходимо определить ее размер в байтах. Пробовал SizeOf - не подходит.

Решение задачи: «Как определить размер заполненной структуры?»

textual
Листинг программы
    class Program
    {
        const int ParagraphStartCount = 5;
 
        struct dataCFG
        {
            public string serialNumDdevice;
            public ArrayList numWhiteListAbonent;
        }
 
        public static int GetSize(object obj)
        {
            return System.Runtime.InteropServices.Marshal.SizeOf(obj);
        }
 
        public static int SizeOf<T>()
        {
            return System.Runtime.InteropServices.Marshal.SizeOf(typeof(T));
        }
 
 
        static dataCFG _dataCFG = new dataCFG();
 
        static void Main(string[] args)
        {
            Console.WriteLine(SizeOf<dataCFG>()); //Размер типа
            Console.WriteLine(GetSize(_dataCFG)); //Размер значения           
            Console.ReadKey();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы