<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      《CLR Via C# 第3版》筆記之(五) - C#中的偽Union類型

      一直以為像C#這種內存自動回收的語言,開發人員無法操作其在內存的布局。現在才知道,CLR也提供了相應的接口,讓我們可以更細粒度的對代碼進行控制。

      主要內容

      • C#中控制內存布局的Attribute
      • 模擬C#中的Union類型

      1. C#中控制內存布局的Attribute

      為了控制自己定義的類或結構在內存中的布局,CLR提供了System.Runtime.InteropServices.StructLayoutAtrribute這個Attribute。

      這個Attribute的構造器中提供了3種Layout:

      1)LayoutKind.Auto : 由CLR自動排列字段

      2)LayoutKind.Explicit :讓CLR保持你自己的字段布局

      3)LayoutKind.Sequential :利用偏移量在內存中顯示排列字段

      如果不指定StructLayoutAtrribute,CLR會選擇它認為最好的布局。

      默認情況下,Microsoft C#編譯器對于引用類型選擇LayoutKind.Auto,對值類型選擇LayoutKind.Sequential。

      當然,根據自己的需要可以手動修改。

      2. 模擬C#中的Union類型

      通過指定LayoutKind.Explicit,將結構體中每個字段開始位置的偏移量都指定為0來模擬Union類型。

      using System;
      using System.Runtime.InteropServices;
      
      class Test
      {
          static void Main()
          {
              Union u = new Union();
      
              // 初始化后Union中的值均為0
              Console.WriteLine("after initialized: m_a="+u.m_a + "  m_b="+u.m_b);
      
              // m_a賦予最大值后,m_b也隨之改變
              u.m_a = Byte.MaxValue;
              Console.WriteLine("after [u.m_a = Byte.MaxValue]: m_a=" + u.m_a + "  m_b=" + u.m_b);
      
              // m_b賦予的值大于m_a上限后,m_a溢出后重新計算為0
              // 如果m_b=Byte.MaxValue + 2,依次類推,m_a溢出后重新計算為1
              u.m_b = Byte.MaxValue + 1;
              Console.WriteLine("after [u.m_b = Byte.MaxValue + 1]: m_a=" + u.m_a + "  m_b=" + u.m_b);
      
              Console.ReadKey(true);
          }
      }
      
      [StructLayout(LayoutKind.Explicit)]
      public struct Union
      {
          [FieldOffset(0)]
          public Byte m_a;
      
          [FieldOffset(0)]
          public Int32 m_b;
      }

      如上所示,結構體Union中每個字段的改變都會影響另一個字段的值。

      posted @ 2011-06-20 08:50  wang_yb  閱讀(1009)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 粉嫩在线一区二区三区视频| 日韩国产亚洲一区二区三区| 国产日韩另类综合11页| 美女裸体十八禁免费网站| 骚虎视频在线观看| 日韩av一区二区精品不卡| 欧美成人性色一区欧美成人性色区 | 99久久精品一区二区国产| 做暖暖视频在线看片免费| 日本亲近相奷中文字幕| 乱人伦人妻中文字幕不卡| 日韩V欧美V中文在线| 亚洲无av在线中文字幕| 久久妇女高潮喷水多| 国产中文三级全黄| 四川少妇被弄到高潮| 国产私拍福利精品视频| 国产一区二区日韩经典| 久久精品无码免费不卡| 久久亚洲日韩精品一区二区三区| 成码无人AV片在线电影网站| 国产精品自拍中文字幕| 日韩精品 在线 国产 丝袜| 狂躁女人双腿流白色液体| 无码日韩做暖暖大全免费不卡| 人妻加勒比系列无码专区| 免费看无码自慰一区二区| 97欧美精品系列一区二区| 线观看的国产成人av天堂| 国产97人人超碰CAO蜜芽PROM| 日韩av中文字幕有码| 久久精品国产最新地址| 色婷婷婷丁香亚洲综合| 亚洲精品一区久久久久一品av| 久久亚洲精品人成综合网| 国产一区精品综亚洲av| 亚洲人成网网址在线看| 日本无产久久99精品久久| 国产精品免费AⅤ片在线观看 | XXXXXHD亚洲日本HD| 成人一区二区三区在线午夜 |