人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

VB.NET特征之FieldOffset特征

VB.NET特征之FieldOffset特征

更新時間:2022-09-26 文章作者:未知 信息來源:網絡 閱讀次數:

VB.NET特性

-----FieldOffset特性





在選擇顯示布局的時候,結構中的所有變量的定義必須包含FieldOffset特性。這個特性指定了距結構開始處的距離(以字節位單位)。



Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Explicit)> _

Structure test

<FieldOffset(0)>Dim Red as Byte

<FieldOffset(1)>Dim Green as Byte

<FieldOffset(2)>Dim Blue as Byte

<FieldOffset(3)>Dim Alpha as Byte

End Structure



StructLayout特性與FieldOffset特性可以實現聯合(union)。聯合(union)已經被多種語言(如 c和c++)采用,但是vb卻不具備這一語言特性。聯合(union)是一種可以使得結構中的兩個或多個元素在內存中重疊,以及使用不同的名稱來指示同一內存位置。



在.NET中,聯合(union)的關鍵在于支持顯示結構布局。



如:

Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Explicit)> _

Structure test

<FieldOffset(0)>Dim Red as Byte

<FieldOffset(1)>Dim Green as Byte

<FieldOffset(2)>Dim Blue as Byte

<FieldOffset(3)>Dim Alpha as Byte

<FieldOffset(0)>Dim Value as Integer

End Structure



則這些元素在內存中的位置,如圖:






這樣就可以通過Value 字段將4個字節作為一個整體進行訪問。



'拆分

Dim rgb as test

rgb.Value=&H112233 '1122867

Console.Write("Red={0},Green={1},Blue={2}",rgb.Red,rgb.Green,rgb.Blue)



輸出如:








‘合并

rgb.Red=51

rgb.Green=34

rgb.Blue=17

Console.Write(rgb.Value)

輸出如:










這樣就可以解決很多轉換的工作,而且比使用數學運算符更快!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 琼中| 奇台县| 宁夏| 永寿县| 喀什市| 凌海市| 万年县| 崇阳县| 黄山市| 姜堰市| 社会| 开平市| 托克托县| 达孜县| 吴川市| 云阳县| 灌南县| 临泽县| 繁昌县| 沐川县| 上犹县| 洛隆县| 南涧| 宜兴市| 嵊泗县| 霍山县| 卢氏县| 什邡市| 南川市| 思南县| 东乡族自治县| 紫阳县| 元江| 廉江市| 涞源县| 万源市| 定兴县| 嘉峪关市| 开化县| 富民县| 吉安县|