Мне жаль, что я просто написал что-то, чтобы получить мою точку.C# Почему размер (константа) не задан
Вот конкретный пример кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CacheScratch
{
class Class1
{
public const int a = 0xABAC;
int test()
{
return sizeof(a);
}
}
}
Если у меня есть константный, почему я получаю сообщение об ошибке: Тяжесть Код Описание проекта Line File Подавление State CS0233 Error «а» не имеет предопределенный размер, поэтому sizeof можно использовать только в небезопасном контексте (подумайте об использовании System.Runtime.InteropServices.Marshal.SizeOf)
Зачем нужен маршал для переменной фиксированного размера?
Ваш код не близко к компиляции. Вы ссылаетесь на несуществующую переменную, вы не используете аргумент типа, а '0xA4B4' не подходит для краткости. –
https://msdn.microsoft.com/en-us/library/eahchzkf(v=vs.120).aspx –
sizeof принимает тип в C#, а не произвольное выражение. –