十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
C#裝箱和拆箱機(jī)制使得在C#類型系統(tǒng)中,任何值類型,引用類型和object類型之間進(jìn)行轉(zhuǎn)換,簡單地說,有了C#裝箱和拆箱的概念,對任何類型的值來說,最終我們都可以看作是object類型.

創(chuàng)新互聯(lián)建站長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新沂企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),新沂網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
裝箱轉(zhuǎn)換是指將一個值類型隱式地轉(zhuǎn)換成一個object類型,或者把這個值類型轉(zhuǎn)換成一個被該值類型應(yīng)用的接口類型,把一個值類型的值裝箱,也就是創(chuàng)建一個object實(shí)例并將這個值復(fù)制給這個object.
C#裝箱和拆箱正好相反,拆箱轉(zhuǎn)換是指將一個對象類型顯式轉(zhuǎn)換成一個值類型,或是將一個接口類型顯式轉(zhuǎn)換成一個執(zhí)行該接口的值類型.拆箱的過程分為兩步,首先,檢查這個對象實(shí)例,看它是否為給定的值類型的裝箱值,然后,把這個實(shí)例的值拷貝給值類型的變量.
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- namespace WindowsApplication2
- ...{
- public partial class Form1 : Form
- ...{
- public Form1()
- ...{
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- ...{
- Checker c = new Checker();
- ClassA ca=new ClassA();
- Mystruct s = new Mystruct();
- IClassB ib =ca; //封箱;
- object ob =s; //封箱;從值類型轉(zhuǎn)換到object類型
- Mystruct s1 =(Mystruct)ob; //拆箱 從object類型轉(zhuǎn)換到值類型
- c.Getcheck(s1);
- }
- }
- public class Checker
- ...{
- public Checker()
- ...{
- }
- public void Getcheck(object par)
- ...{
- if (par is ClassA)
- ...{
- MessageBox.Show("YES,ClassA");
- }
- else
- ...{
- MessageBox.Show("NO,ClassA");
- }
- if (par is IClassB)
- ...{
- MessageBox.Show("YES,IClassB");
- }
- else
- ...{
- MessageBox.Show("NO,IClassB");
- }
- if (par is Mystruct)
- ...{
- MessageBox.Show("YES,Mystruct");
- }
- else
- ...{
- MessageBox.Show("NO,Mystruct");
- }
- }
- }
- public class ClassA:IClassB
- ...{
- }
- public class ClassB:IClassB
- ...{
- }
- interface IClassB
- ...{
- }
- struct Mystruct
- ...{
- }
- }
C#裝箱和拆箱內(nèi)容就介紹到這里,希望對大家有所幫助。