C#的this關(guān)鍵字的2種用法
在使用C#的過程中,發(fā)現(xiàn)this關(guān)鍵是比較少用的,但是在下面這三個(gè)場(chǎng)合下是必須要使用的,不使用它是解決不了問題。
第一種場(chǎng)合就是當(dāng)類成員變量的名稱與函數(shù)的參數(shù)名稱一樣
比如下面這種情況:
public class Employee
{
private string alias;
private string name;
public Employee(string name, string alias)
{
// Use this to qualify the members of the class
// instead of the constructor parameters.
this.name = name;
this.alias = alias;
}
}
這里可以看到類成員變量的名稱為alias,而構(gòu)造函數(shù)的名稱也是alias,編譯器要區(qū)分到底是那一個(gè)名稱,就需要類里的成員變量增加一個(gè)this指針,這個(gè)指針就可以指明引用的名稱是來(lái)自于類,而不是函數(shù)的參數(shù),從而達(dá)到區(qū)分的目的。很多情況之下,可以在函數(shù)里寫成員不一樣的名稱,就不用這樣來(lái)處理了。
第二種場(chǎng)合就是將當(dāng)前的對(duì)象當(dāng)作參數(shù)傳送給別的函數(shù)。
CalcTax(this);
調(diào)函數(shù)CalcTax是一個(gè)類函數(shù)內(nèi),那么要本身傳送給別人,只能使用this引用了,只有它是用來(lái)標(biāo)記自己的變量。
class Employee
{
private string name;
private string alias;
private
到此這篇關(guān)于C#的this關(guān)鍵字的2種用法的文章就介紹到這了,更多相關(guān)C#的this關(guān)鍵字用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于C#后臺(tái)調(diào)用跨域MVC服務(wù)及帶Cookie驗(yàn)證的實(shí)現(xiàn)
本篇文章介紹了,基于C#后臺(tái)調(diào)用跨域MVC服務(wù)及帶Cookie驗(yàn)證的實(shí)現(xiàn)。需要的朋友參考下2013-04-04
簡(jiǎn)介Winform中創(chuàng)建用戶控件
用戶控件可以讓開發(fā)人員對(duì)VS控件進(jìn)行組裝。下面我們來(lái)創(chuàng)建一個(gè)按鈕的用戶控件我們可以給它添加屬性,并且添加相應(yīng)鼠標(biāo)移入、移出事件。2013-03-03
Visual Studio關(guān)于C#項(xiàng)目Dll的引用多種方式(圖文詳解)
本文通過圖文并茂的形式給大家展示Visual Studio關(guān)于C#項(xiàng)目Dll的引用幾種方式 ,感興趣的朋友跟隨小編一起看看吧2024-08-08
C#中將DataTable轉(zhuǎn)換成CSV文件的方法
DataTable用于在.net項(xiàng)目中,用于緩存數(shù)據(jù),DataTable表示內(nèi)存中數(shù)據(jù)的一個(gè)表,在.net項(xiàng)目中運(yùn)用C#將DataTable轉(zhuǎn)化為CSV文件,接下來(lái)通過本文給大家提供一個(gè)通用的方法,感興趣的朋友可以參考下2016-10-10
C# Winform 禁止用戶調(diào)整ListView的列寬
在使用 ListView 的時(shí)候, 有時(shí)我們不想讓別人隨意調(diào)整列寬, 或者某幾列的列寬, 以便達(dá)到美觀, 或者隱藏?cái)?shù)據(jù)的作用. 那么可以用一下代碼來(lái)實(shí)現(xiàn)2011-05-05

