最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

不能忽略c#中的using和as操作符的用處

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:45:38
文檔

不能忽略c#中的using和as操作符的用處

不能忽略c#中的using和as操作符的用處:是不是很多人不用c#中的using和as操作符甚至不知道 其實(shí)這2個(gè)操作符在小處非常有用。 1、using 按照msdn的解釋 using 語句定義一個(gè)范圍,在此范圍的末尾將處理對(duì)象。 舉例: class TestUsing:IDisposable { public void Disp
推薦度:
導(dǎo)讀不能忽略c#中的using和as操作符的用處:是不是很多人不用c#中的using和as操作符甚至不知道 其實(shí)這2個(gè)操作符在小處非常有用。 1、using 按照msdn的解釋 using 語句定義一個(gè)范圍,在此范圍的末尾將處理對(duì)象。 舉例: class TestUsing:IDisposable { public void Disp

是不是很多人不用c#中的using和as操作符?甚至不知道? 
其實(shí)這2個(gè)操作符在小處非常有用。 

1、using 
按照msdn的解釋   

using 語句定義一個(gè)范圍,在此范圍的末尾將處理對(duì)象。 
舉例: 

class TestUsing:IDisposable 
    { 
        public void Dispose()  
        { 
            Console.WriteLine("Dispose");  
        } 

        public void Method() 
        { 
            Console.WriteLine("Do a method"); 
        } 
    } 
調(diào)用這個(gè)類: 


using(TestUsing tu=new TestUsing()) 
            { 
                tu.Method(); 
            } 
可以看到先后輸出了Do a method和Dispose。 
備注:實(shí)例化的對(duì)象必須實(shí)現(xiàn) System.IDisposable 接口 

2、as 
msdn這么說: 


as 運(yùn)算符用于執(zhí)行可兼容類型之間的轉(zhuǎn)換。 
as 運(yùn)算符類似于類型轉(zhuǎn)換,所不同的是,當(dāng)轉(zhuǎn)換失敗時(shí),as 運(yùn)算符將產(chǎn)生空,而不是引發(fā)異常。在形式上,這種形式的表達(dá)式: 

expression as type 
等效于: 

expression is type ? (type)expression : (type)null 
只是 expression 只被計(jì)算一次。 

請(qǐng)注意,as 運(yùn)算符只執(zhí)行引用轉(zhuǎn)換和裝箱轉(zhuǎn)換。as 運(yùn)算符無法執(zhí)行其他轉(zhuǎn)換,如用戶定義的轉(zhuǎn)換,這類轉(zhuǎn)換應(yīng)使用 cast 表達(dá)式來代替其執(zhí)行。 

 
舉例: 
object [] arr=new object[2]; 
            arr[0]=123; 
            arr[1]="test"; 
            foreach(object o in arr) 
            { 
                string s=(string)o; 
                Console.WriteLine(s); 
            } 
這樣的代碼在轉(zhuǎn)換類型失敗的時(shí)候引發(fā)異常,代碼修改成: 
object [] arr=new object[2]; 
            arr[0]=123; 
            arr[1]="test"; 
            for(int i=0;i<arr.Length;i++) 
            { 
                string s=arr[i] as string; 
                if(s!=null)Console.WriteLine(i+":"+s); 
            } 可以看到輸出了1:test,雖然arr[0]處轉(zhuǎn)換失敗但是沒有引發(fā)異常而是返回了null 

備注:as必須和引用類型一起使用(int等值類型不能使用) 

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

不能忽略c#中的using和as操作符的用處

不能忽略c#中的using和as操作符的用處:是不是很多人不用c#中的using和as操作符甚至不知道 其實(shí)這2個(gè)操作符在小處非常有用。 1、using 按照msdn的解釋 using 語句定義一個(gè)范圍,在此范圍的末尾將處理對(duì)象。 舉例: class TestUsing:IDisposable { public void Disp
推薦度:
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top