Как узнать размер массива или структуры - C#

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

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

Привет всем! Раньше писал на C++, сейчас потихоньку начал изучать C#. Есть какая-нибудь переменная, например long num; и хочу узнать ее размер в байтах. Но компилятор ругается, пишет такое:

The type or namespace name 'num' could not be found (are you missing a using directive or an assembly reference?)

long num;
Console.WriteLine(sizeof (num));
Что это значит и как быть? В C++ можно было так делать. С пространствами имен в C# пока еще не знаком. Конечно можно написать sizeof (long), но если например понадобиться узнать размер массива или какой-нибудь структуры?

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

textual
Листинг программы
using System;
using System.Runtime.InteropServices;
 
struct MyStruct
{
    int field1;
    double field2;
}
 
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(Marshal.SizeOf(typeof(MyStruct)));
        Console.ReadKey(true);
    }
}

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


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

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

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