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

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

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
主站蜘蛛池模板: 珲春市| 上林县| 陕西省| 衡阳市| 息烽县| 巫溪县| 静安区| 松桃| 惠东县| 正镶白旗| 广安市| 浑源县| 潜江市| 子洲县| 塔河县| 罗山县| 余庆县| 四子王旗| 微山县| 托克逊县| 漳平市| 西畴县| 无极县| 孟连| 大化| 普安县| 武鸣县| 西盟| 都兰县| 剑河县| 岳阳市| 徐州市| 肃北| 乐至县| 明溪县| 乐都县| 龙川县| 保定市| 松阳县| 灯塔市| 秭归县|