|
關于.NET中的聯合結構,我們也探討過。下面介紹.NET中的聯合結構。
在進行某些算法的C語言編程的時候,需要使幾種不同類型的變量存放到同一段內存單元中。也就是使用覆蓋技術,幾個變量互相覆蓋。這種幾個不同的變量共同占用一段內存的結構,在C語言中,被稱作“共用體”類型結構,簡稱共用體,也叫聯合體。
在C++中有一種類型叫做聯合體(也叫共用體),它的關鍵字為union,在使用上與結構struct非常相似,可以包含任何的結構類型數據,但它又有一個非常獨特的特性,那就是所有的數據都指向一個地址。
這個意思你可以理解為:聯合體中的所有數據都是引用一個內存塊中相同地址的數據,當我們改變這個聯合體內任何一種數據的值時,其他的數據的值都會隨之改變。
這對于未知類型的數據非常有效,你可以使用聯合體裝載一個數據,然后分析其數據是否有效,或者可以對某些特殊的類型進行位運算,獲取其特殊位置的數值。
但在VB.NET或C#中,根本沒有union關鍵字讓我們聲名聯合體,但該怎么做才能聲名聯合體呢?
這需要用到結構屬性!
讓我們看看如何將下面的C++聯合體代碼轉換為一個VB.NET的聯合結構吧!
1. union myunion2. {
3. char b; //單字節整數,在c語言中用char類型來表示單字節整數
4. short s; //雙字節整數 www.liuhebao.com
5. int i; //四字節整數
6. }
NET技術:探討.NET中的聯合結構,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。