C#中this的使用實例分析
this關鍵字在C#程序設計中的應用非常頻繁,今天本文就this關鍵字的用法做一番分析,希望能提對大家的C#程序設計有一定的幫助作用。具體分析如下:
1.代表當前類,在當前類中可使用this訪問當前類成員變量和方法(需要注意的是 靜態(tài)方法中不能使用this),也可用于參數(shù)傳遞,傳遞當前對象的引用。
示例代碼如下:
class Program
{
static void Main(string[] args)
{
thisClass testObj = new thisClass();
Console.ReadLine();
}
}
class thisClass
{
private string A { get; set; }
public thisClass()
{
/*當前類this 訪問類中屬性A 靜態(tài)方法無法訪問A屬性*/
this.A = "Test String";
Console.WriteLine(this.TestFun("TestFun :"));
}
private string TestFun(string args)
{
return args + this.A;
}
}
運行結(jié)果如下圖所示:

2.聲明索引器
索引器:允許類和結(jié)構(gòu)的實例按照與數(shù)組相同的方式進行索引,索引器類似與屬性,不同之處在于他們的訪問器采用參數(shù),被稱為有參屬性,索引可以被重載,屬于實例成員,不能聲明為static。
示例代碼如下:
class Program
{
static void Main(string[] args)
{
indexClass intIndexClass = new indexClass();
intIndexClass[0] = new thisClass("intIndexClass 111");
intIndexClass[1] = new thisClass("intIndexClass 222");
indexClass stringIndexClass = new indexClass();
stringIndexClass["string1"] = new thisClass("stringIndexClass string1");
stringIndexClass["string2"] = new thisClass("stringIndexClass string2");
Console.ReadLine();
}
}
class indexClass
{
/*聲明屬性*/
private thisClass[] thisClassArr = new thisClass[10];
private Hashtable thisClassStrArr = new Hashtable();
/*創(chuàng)建索引器1 索引可以被重載,屬于實例成員,不能聲明為static*/
public thisClass this[int index]
{
get { return thisClassArr[index]; }
set { this.thisClassArr[index] = value; }
}
/*創(chuàng)建索引器2*/
public thisClass this[string index]
{
get
{
return thisClassStrArr[index] as thisClass;
}
set { this.thisClassStrArr[index] = value; }
}
}
class thisClass
{
private string A { get; set; }
public thisClass(string str)
{
/*當前類this 訪問類中屬性A 靜態(tài)方法無法訪問A屬性*/
this.A = str;
Console.WriteLine(this.TestFun("TestFun :"));
}
private string TestFun(string args)
{
return args + this.A;
}
}
運行結(jié)果如下圖所示:

相關文章
C#中將DataTable轉(zhuǎn)換成CSV文件的方法
DataTable用于在.net項目中,用于緩存數(shù)據(jù),DataTable表示內(nèi)存中數(shù)據(jù)的一個表,在.net項目中運用C#將DataTable轉(zhuǎn)化為CSV文件,接下來通過本文給大家提供一個通用的方法,感興趣的朋友可以參考下2016-10-10
C# string轉(zhuǎn)unicode字符的實現(xiàn)
本文主要介紹了C# string轉(zhuǎn)unicode字符的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02
C#中的文件路徑獲取函數(shù)和文件名字獲取函數(shù)小結(jié)
這篇文章主要介紹了C#中的文件路徑獲取函數(shù)和文件名字獲取函數(shù)小結(jié),本文講解了獲取絕對文件路徑、獲取文件名字、獲得包含 path 目錄信等內(nèi)容,需要的朋友可以參考下2015-01-01
C#基于QRCode實現(xiàn)動態(tài)生成自定義二維碼圖片功能示例
這篇文章主要介紹了C#基于QRCode實現(xiàn)動態(tài)生成自定義二維碼圖片功能,結(jié)合實例形式分析了C#使用QRCode動態(tài)生成二維碼圖片相關操作技巧,需要的朋友可以參考下2019-02-02
C#?線程切換后上下文都去了哪里(.NET高級調(diào)試分析)
總會有一些朋友問一個問題,在 Windows 中線程做了上下文切換,請問被切的線程他的寄存器上下文都去了哪里?這個問題其實比較底層,如果對操作系統(tǒng)沒有個體系層面的理解以及做過源碼分析,其實很難說明白,這篇我們就從.NET高級調(diào)試的角度分析,需要的朋友可以參考下2023-12-12

