中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

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

2022-05-01    分類: 網(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ū)懫饋聿皇呛芎啙崳@時(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):原文

新聞名稱:.Net開發(fā)的兩個(gè)小技巧
當(dāng)前路徑:http://www.2m8n56k.cn/news19/148269.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)外貿(mào)網(wǎng)站建設(shè)ChatGPT網(wǎng)站設(shè)計(jì)服務(wù)器托管企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
主站蜘蛛池模板: 亚洲国产一区二区三区最新 | 国产精品系列在线 | 久久成人毛片 | 美女张开双腿让男人桶 | 日韩一级片网址 | 亚洲国产激情一区二区三区 | 免费韩国美女爽快一级毛片 | 亚洲一区二区三区视频 | 自拍小视频在线观看 | 亚洲精品不卡视频 | 国产jk福利视频在线观看 | 全部毛片| 国产成人一区二区三区在线视频 | 国产在线不卡免费播放 | 中文字幕福利 | 亚洲精品一区二区三区网址 | 性欧美高清极品xx | 99视频国产热精品视频 | 在线观看免费视频国产 | 亚州中文字幕 | 亚洲美女性生活视频 | 久青草免费视频 | 欧美性色生活片免费播放 | 成人影院久久久久久影院 | 亚洲精品资源网在线观看 | 国产亚洲精品久久久久久 | 97精品在线视频 | 午夜性激福利免费观看 | 永久免费观看午夜视频在线 | 日本精品中文字幕有码 | 成人性色生活影片 | 4四虎44虎www在线影院麻豆 | 亚洲精品视频久久 | 日韩毛片大全免费高清 | 国产日韩亚洲不卡高清在线观看 | 一区二区三区亚洲 | 成人久久 | 97视频免费在线 | 欧美日韩国产在线观看一区二区三区 | 日黄网站 | 99在线小视频 |