在C#中,sizeof用來計算類型的大小,單位是字節。有這樣的一個類:
public class MyUglyClass{public char myChar1;public int myInt;public char myChar2;}
在客戶端,試圖使用sizeof計算該類型的大小。
class PRogram{static void Main(string[] args){MyUglyClass m = new MyUglyClass();m.myChar1 = 'd';m.myInt = 25;m.myChar2 = 'a';Console.WriteLine(sizeof(MyUglyClass));}}
運行,報錯:
○ 第一個報錯說明要使用sizeof,必須使用關鍵字unsafe○ 第二個報錯說明sizeof對運行時變量無效,只能針對編譯器變量統計其大小
把類改成struct值類型。
public struct MyUglyClass{public char myChar1;public int myInt;public char myChar2;}
客戶端改成如下:
class Program{static void Main(string[] args){MyUglyClass m = new MyUglyClass();m.myChar1 = 'd';m.myInt = 25;m.myChar2 = 'a';unsafe{Console.WriteLine(sizeof(MyUglyClass));}
新聞熱點
疑難解答