私はちょうど私のポイントを取得するために何かを書きました。ここでC#sizeof(定数)が定義されていないのはなぜですか
は、実際のサンプルコードです:
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);
}
}
}
私はconstのを持っている場合は、なぜ私はエラーが出るん: 重大度コード説明プロジェクトファイルの行の抑制状態 エラーCS0233「」はありませんしたがって、sizeofは安全でないコンテキストでのみ使用できます(System.Runtime.InteropServices.Marshal.SizeOfの使用を検討してください)
固定サイズの変数にはマーシャルが必要なのはなぜですか?
あなたのコードはコンパイルに近いものではありません。存在しない変数を参照しています。あなたは型引数を使用しておらず、 '0xA4B4'は短い形ではありません。 –
https://msdn.microsoft.com/en-us/library/eahchzkf(v=vs.120).aspx –
sizeofはC#での型を取りますが、任意の式ではありません。 –