99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C#中的兩個(gè)泛型修飾符

麥辣雞腿堡 ? 來(lái)源:CSDN博客 ? 作者:mykge ? 2023-01-14 11:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C#中,存在兩個(gè)泛型修飾符:in和out,他們分別對(duì)應(yīng)逆變委托和協(xié)變委托。

我們知道,在C#中要想將一個(gè)泛型對(duì)象轉(zhuǎn)換為另一個(gè)泛型對(duì)象時(shí),必須要將一個(gè)泛型對(duì)象拆箱,對(duì)元素進(jìn)行顯式或隱式轉(zhuǎn)換后重新裝箱。

例如:

Listlobject=new List(){"0","1","2"};
List lint=new List();
foreach(Object obj in lobject)
{
lint.Add((int)obj);
}
在這個(gè)拆箱和裝箱的過(guò)程中,要消耗掉相當(dāng)于lobject對(duì)象兩倍的內(nèi)存和資源,如果lobject對(duì)象非常大,這將是非常巨大的資源消耗。泛型修飾符就是用來(lái)解決這個(gè)問(wèn)題的。
當(dāng)兩個(gè)泛型對(duì)象的元素存在繼承關(guān)系是,可以在實(shí)現(xiàn)泛型對(duì)象是為泛型元素增加in或者out聲明,以便逆變或協(xié)變。

逆變泛型:
ListIn:IList
ListInlobject = new ListIn(){"0","1","2"};
ListIn lint=new ListIn;
lint = lobject;
協(xié)變泛型:
ListOut:IList
ListOut lint=new ListOut(){0,1,2};
ListOutlobject=new ListOut();
lobject=lint;

原文鏈接:https://blog.csdn.net/mykge/article/details/42918841

編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141599
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1956

    瀏覽量

    36619
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C#操作AP

    。Static修飾符則聲明一個(gè)靜態(tài)元素,而這個(gè)元素屬于類型本身而不是上面指定的對(duì)象。extern則表示這個(gè)方法將在工程外部執(zhí)行,使用DllImport導(dǎo)入的方法必須使用extern修飾符
    發(fā)表于 12-26 12:23

    Python與C#對(duì)比

    生命周期可以分為編譯時(shí)、鏈接時(shí)、加載時(shí)、運(yùn)行時(shí),這4個(gè)階段。在Python,這4個(gè)階段是一體的,而在C#卻是嚴(yán)格分離的,在
    發(fā)表于 05-14 17:14

    “無(wú)注冊(cè)”修飾符如何防止變量被保存到CPU寄存器?

    好的,我的意思是,我希望真正的內(nèi)存位置(無(wú)論是全局的還是本地的,不是基于堆棧的,變量)都要更新,所以當(dāng)中斷發(fā)生時(shí),它會(huì)找到一個(gè)更新的值。我知道“寄存器”修飾符,但它正好相反。F我想做什么,我在文檔
    發(fā)表于 10-09 11:09

    請(qǐng)問(wèn)C++代碼的修飾符該怎么理解?

    有如下的代碼段,寫(xiě)出下面除了宏定義外的其他代碼的真實(shí)代碼(即預(yù)處理后的代碼)。然后寫(xiě)出對(duì)const的修飾符的理解(當(dāng)前的代碼用于單片機(jī)):#define DECL_PC_CMD_FUN(name
    發(fā)表于 11-11 04:35

    請(qǐng)問(wèn)什么是正則表達(dá)式修飾符?

    什么是正則表達(dá)式的修飾符
    發(fā)表于 11-04 06:10

    labview連接mongdb問(wèn)題,找到不.NET類

    有沒(méi)有人用labview連接mongodb數(shù)據(jù)庫(kù)的?已下載mongodb的c#驅(qū)動(dòng),利用labview的.net控件調(diào)用相關(guān)函數(shù),但是驅(qū)動(dòng)中有部分函數(shù)在
    發(fā)表于 04-08 13:38

    HAL庫(kù)__weak修飾符是什么?

    單片機(jī)系統(tǒng)時(shí)鐘是什么?HAL庫(kù)__weak修飾符是什么?
    發(fā)表于 02-23 07:32

    C語(yǔ)言類型修飾符Const的教程使用說(shuō)明

    Const也是應(yīng)該廣泛的關(guān)鍵字,表示后面定義有可能是一個(gè)不變的常量,但是跟各種數(shù)據(jù)類型定義組合,能演變出復(fù)雜含義。常類型是指使用類型修飾符const說(shuō)明的類型,常類型的變量或?qū)ο蟮闹凳遣荒鼙桓?/div>
    的頭像 發(fā)表于 09-20 09:37 ?3415次閱讀

    C語(yǔ)言類型修飾符Volatile的使用說(shuō)明

    C語(yǔ)言是我們經(jīng)常需要用到的語(yǔ)言,C語(yǔ)言中的類型修飾符Volatile大家知道怎么使用嗎? volatile是一個(gè)類型修飾符(type spe
    的頭像 發(fā)表于 09-19 10:54 ?3765次閱讀

    C51單片機(jī)中斷函數(shù)的修飾方法

    C51斷函數(shù)必須通過(guò)該修飾符進(jìn)行修飾。在C51程序設(shè)計(jì),當(dāng)函數(shù)定義時(shí)用了interruptm
    發(fā)表于 03-18 14:20 ?2962次閱讀
    <b class='flag-5'>C</b>51單片機(jī)中斷函數(shù)的<b class='flag-5'>修飾</b>方法

    一種修飾符能使變量在處理器復(fù)位而不被初始化

    有一種修飾符能使變量在處理器復(fù)位而不被初始化
    的頭像 發(fā)表于 03-14 15:01 ?4433次閱讀
    一種<b class='flag-5'>修飾符</b>能使變量在處理器復(fù)位而不被初始化

    Vue入門之事件操作

    事件修飾符 vue 通過(guò)事件修飾符對(duì)js事件進(jìn)行細(xì)節(jié)控制。
    的頭像 發(fā)表于 02-06 16:26 ?882次閱讀
    Vue入門之事件操作

    Java四種訪問(wèn)修飾符及訪問(wèn)范圍

    public修飾的類、類屬變量及方法,包內(nèi)及包外的任何類均可以訪問(wèn);任何情況下都可以訪問(wèn);如果一個(gè)類、類屬變量及方法沒(méi)有用任何修飾符,則其訪問(wèn)權(quán)限為默認(rèn)權(quán)限,只認(rèn)包。同包下可以訪問(wèn),同包下子類可以訪問(wèn),只要不同包,普通類和子類都
    的頭像 發(fā)表于 02-28 14:35 ?7154次閱讀

    java內(nèi)部類可以用public修飾

    使用任意訪問(wèn)權(quán)限修飾符,包括public、protected、默認(rèn)和private。 方法內(nèi)部類只能使用默認(rèn)訪問(wèn)權(quán)限,即不加任何訪問(wèn)修飾符。 使用public修飾的內(nèi)部類 內(nèi)部類使用public
    的頭像 發(fā)表于 11-21 10:23 ?1541次閱讀

    淺析C語(yǔ)言中的變量修飾符

    一、修飾符類型51單片機(jī)采用哈佛結(jié)構(gòu)。內(nèi)存空間編址有重疊。可以在不同總線上定義不同的變量。在KEILC51定義了data、idata、xdata、code幾種域修飾符。這些修飾符決定
    的頭像 發(fā)表于 04-15 08:10 ?1440次閱讀
    淺析<b class='flag-5'>C</b>語(yǔ)言中的變量<b class='flag-5'>修飾符</b>