新聞中心
VB.NET編程語言是一款由微軟推出的面向?qū)ο笳Z言。我們可以在實(shí)際編程中去慢慢積累開發(fā)經(jīng)驗(yàn),來體驗(yàn)其帶來的強(qiáng)大性和新穎性。我們在這里就為大家詳細(xì)介紹一下VB.NET FieldOffset特性的相關(guān)概念。

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)建站為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,成都做網(wǎng)站、網(wǎng)站設(shè)計負(fù)責(zé)任的成都網(wǎng)站制作公司!
在選擇顯示布局的時候,結(jié)構(gòu)中的所有變量的定義必須包含VB.NET FieldOffset特性。這個特性指定了距結(jié)構(gòu)開始處的距離(以字節(jié)位單位)。
- 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特性與VB.NET FieldOffset特性可以實(shí)現(xiàn)聯(lián)合(union)。聯(lián)合(union)已經(jīng)被多種語言(如 c和c++)采用,但是vb卻不具備這一語言特性。聯(lián)合(union)是一種可以使得結(jié)構(gòu)中的兩個或多個元素在內(nèi)存中重疊,以及使用不同的名稱來指示同一內(nèi)存位置。
在.NET中,聯(lián)合(union)的關(guān)鍵在于支持顯示結(jié)構(gòu)布局。
如:
- 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個字節(jié)作為一個整體進(jìn)行訪問。
- ''拆分
- Dim rgb as test
- rgb.Value=&H112233 ''1122867
- Console.Write("Red=,
Green=,Blue=",rgb.Red,
rgb.Green,rgb.Blue)
合并
- rgb.Red=51
- rgb.Green=34
- rgb.Blue=17
- Console.Write
(rgb.Value)
這樣VB.NET FieldOffset特性就可以解決很多轉(zhuǎn)換的工作,而且比使用數(shù)學(xué)運(yùn)算符更快。
【編輯推薦】
- VB.NET資源文件應(yīng)用經(jīng)驗(yàn)總結(jié)
- VB.NET Dllimport特性內(nèi)容概述
- 簡單實(shí)現(xiàn)VB.NET打開Notes數(shù)據(jù)庫
- VB.NET動態(tài)標(biāo)識符體現(xiàn)動態(tài)語言特性
- VB.NET超鏈接實(shí)現(xiàn)方法介紹
標(biāo)題名稱:深入分析VB.NET FieldOffset特性
當(dāng)前路徑:http://m.5511xx.com/article/ccddccj.html


咨詢
建站咨詢
