引導語:C#旨在設計成為一種“簡單、現代、通用”,以及面向物件的程式設計語言,以下是小編整理的`c#中訪問關鍵詞 this 的常用用途,歡迎參考閱讀!
this 關鍵字引用類的當前例項,還可用作擴充套件方法的第一個引數的修飾符。
說明:
本文討論對類例項使用 this。有關其在擴充套件方法中使用的更多資訊,請參見擴充套件方法(C# 程式設計指南)。
以下是 this 的常用用途:
限定被相似的名稱隱藏的成員,例如:
C#
public Employee(string name, string alias)
{
// Use this to qualify the fields, name and alias:
= name;
s = alias;
}
將物件作為引數傳遞到其他方法,例如:
CalcTax(this);
宣告索引器,例如:
C#
public int this[int param]
{
get { return array[param]; }
set { array[param] = value; }
}
由於靜態成員函式存在於類一級,並且不是物件的一部分,因此沒有 this 指標。在靜態方法中引用 this 是錯誤的。
示例
在本例中,this 用於限定 Employee 類成員 name 和 alias,它們都被相似的名稱隱藏。this 還用於將物件傳遞到屬於其他類的方法 CalcTax。
C#
class Employee
{
private string name;
private string alias;
private decimal salary = 3000.00m;
// Constructor:
public Employee(string name, string alias)
{
// Use this to qualify the fields, name and alias:
= name;
s = alias;
}
// Printing method:
public void printEmployee()
{
eLine("Name: {0}Alias: {1}", name, alias);
// Passing the object to the CalcTax method by using this:
eLine("Taxes: {0:C}", Tax(this));
}
public decimal Salary
{
get { return salary; }
}
}
class Tax
{
public static decimal CalcTax(Employee E)
{
return 0.08m * ry;
}
}
class MainClass
{
static void Main()
{
// Create objects:
Employee E1 = new Employee("Mingda Pan", "mpan");
// Display results:
tEmployee();
}
}
/*
Output:
Name: Mingda Pan
Alias: mpan
Taxes: $240.00
*/