天堂网www天堂在线中文,手机看片av永久免费,色窝窝无码一区二区三区成人网站,香蕉大视频一二三区乱码

首頁 我們 服務(wù) 網(wǎng)站建設(shè) 移動(dòng)應(yīng)用 案例 資訊 聯(lián)系
業(yè)務(wù)專線:13711534025

期待聆聽您的聲音

13711534025

不忽悠,不作惡,不欺詐;敬天理,存良知,思利他。
QQ咨詢 QQ咨詢 QQ咨詢
服務(wù)網(wǎng)點(diǎn):廣州 深圳 佛山 粵西

與我們一起分享美好

.Net開發(fā)的兩個(gè)小技巧

發(fā)布時(shí)間:2017-06-13 發(fā)布作者:睿思設(shè)計(jì) 查閱次數(shù):3448次 標(biāo)簽:廣州網(wǎng)站建設(shè) 廣州網(wǎng)站建設(shè)公司

.Net開發(fā)的兩個(gè)小技巧



一、@符號(hào)的妙用


1、可以作為保留關(guān)鍵字的標(biāo)識(shí)符


C#規(guī)范當(dāng)中,不允許使用保留關(guān)鍵字(class、bool等)當(dāng)作普通的標(biāo)識(shí)符來命名,這時(shí)候@符號(hào)作用就體現(xiàn)


出來了,可以通過@符號(hào)前綴把這些保留關(guān)鍵字可以當(dāng)作普通的字符使用。


比如:


string @class="hello";  //是正確的


string class="hello";   //報(bào)錯(cuò)

 


2、@符號(hào)可以表示跨行字符串


比如:


string str=@"hello


             world


 !"; //這樣寫是正確的

 


3、字符串轉(zhuǎn)義字符


很多時(shí)候程序中出現(xiàn)目錄的時(shí)候會(huì)有“\”,字符表示轉(zhuǎn)義字符,要表示普通字符的時(shí)候需要寫成“\\”,當(dāng)這樣字符過多的時(shí)候?qū)懫饋聿皇呛芎?jiǎn)潔,這時(shí)候可以使用@字符。


比如:


string path="d:\\Data\\web\\ss.txt";//一般寫法


string path=@"d:\Data\web\ss.txt";//使用@符號(hào)

 


二、using的用法


1、using 指令


用來引入命名空間,比如:using System;


2、為命名空間或類型創(chuàng)建別名


 using引入命名空間,并不等于編譯器編譯時(shí)加載該命名空間所在的程序集,程序集的加載決定于程序中對(duì)該程序集是否存在調(diào)用操作,


 如果代碼中不存在任何調(diào)用操作則編譯器將不會(huì)加載using引入命名空間所在程序集。


 創(chuàng)建別名的另一個(gè)重要的原因在于同一文件中引入的不同命名空間中包括了相同名稱的類型,


 例如SharpMap.Geometries.Point與System.Drawing.Point。為了避免出現(xiàn)名稱沖突,可以通過設(shè)定別名來解決:


 using SGPoint = SharpMap.Geometries.Point;


 using SDPoint = System.Drawing.Point;

 


 盡管我們可以通過類型全名稱來加以區(qū)分,但是這顯然不是最佳的解決方案。用using指令創(chuàng)建別名,


 有效的解決了這種可能的命名沖突,才是最佳的解決方案。


 3、using語句


 using 語句允許程序員指定使用資源的對(duì)象應(yīng)當(dāng)何時(shí)釋放資源。using 語句中使用的對(duì)象必須實(shí)現(xiàn) IDisposable 接口。


 IDisposable接口提供了 Dispose 方法,該方法將釋放此對(duì)象的資源。


 例如:


 


復(fù)制代碼

 using(TextReader reader=new StreamReader(filename))


{


  string line;


  whil((line=read.ReadLine())!=null)


  {


     Console.WriteLine(line);


  }


}

復(fù)制代碼

 


 


等價(jià)于以下形式:


復(fù)制代碼

{


 TextReader reader=new StreamReader(filename);


 try


 {


  string line;


  while((line=read.ReadLine())!=null)


   {


     Console.WriteLine(line);


   }


 }


 finally


  {


    if(reader!=null)


    {


       (IDisposible)reader.Dispose();


    }


   }


}

復(fù)制代碼

 


4、使用規(guī)則


1、using只能用于實(shí)現(xiàn)了IDisposable接口的類型,禁止為不支持IDisposable接口的類型使用using語句,否則會(huì)出現(xiàn)編譯錯(cuò)誤;


2、using語句適用于清理單個(gè)非托管資源的情況,而多個(gè)非托管對(duì)象的清理最好以try-finnaly來實(shí)現(xiàn),


因?yàn)榍短椎膗sing語句可能存在隱藏的Bug。內(nèi)層using塊引發(fā)異常時(shí),將不能釋放外層using塊的對(duì)象資源;


3、using語句支持初始化多個(gè)變量,但前提是這些變量的類型必須相同,例如:


復(fù)制代碼

using(Pen p1 = new Pen(Brushes.Black), p2 = new Pen(Brushes.Blue))


{


      //todo


}

復(fù)制代碼

 


4、針對(duì)初始化對(duì)個(gè)不同類型的變量時(shí),可以都聲明為IDisposable類型,例如:


復(fù)制代碼

 using (IDisposable font = new Font("Verdana", 12), pen = new Pen(Brushes.Black))


{


   float size = (font as Font).Size;


   Brush brush = (pen as Pen).Brush;


}

復(fù)制代碼

公眾號(hào):原文


社區(qū)或社群的典型運(yùn)營(yíng)路徑和邏輯解析

再談軟件測(cè)試人員的發(fā)展方向

我們的位置

廣州 廣州市黃埔區(qū)科學(xué)城科學(xué)大道18號(hào)芯大廈 159 8916 9178

深圳 深圳市南山區(qū)大沖國(guó)際中心九樓 159 1543 2684

粵西 茂名市茂南區(qū)油城三路粵西創(chuàng)業(yè)創(chuàng)新孵化基地B110 157 6767 8148

我們的服務(wù)

網(wǎng)站及移動(dòng)應(yīng)用 高端品牌網(wǎng)站 APP開發(fā) 小程序開發(fā) 微信運(yùn)營(yíng)

系統(tǒng)應(yīng)用開發(fā) OA/ERP/CRM/HR系統(tǒng)開發(fā) 教學(xué)管理系統(tǒng) 電商系統(tǒng) 應(yīng)用型軟件系統(tǒng)定制開發(fā)

了解我們

公司簡(jiǎn)介 聯(lián)系我們 我們的案例 新聞資訊

使用條款 隱私聲明 Cookies

© 2009-2025 廣州睿網(wǎng)信息科技有限公司 版權(quán)所有 粵ICP備16051058號(hào)