當前位置:才華齋>計算機>C語言>

c#中訪問關鍵詞 this 的常用用途

C語言 閱讀(7K)

引導語:C#旨在設計成為一種“簡單、現代、通用”,以及面向物件的程式設計語言,以下是小編整理的`c#中訪問關鍵詞 this 的常用用途,歡迎參考閱讀!

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

*/