c#中訪問關鍵詞 this 的常用用途
引導語: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
*/
-
C與C++之間相互調用的實例方法
如果使用C語言編寫的DLL,希望從中導出函數給C或C++的模塊訪問,則應使用__cplusplus預處理器宏確定正在編譯的語言。如果是從C++語言模塊使用,則用C鏈接聲明這些函數。如果使用此技術併為DLL提供頭文件,則這些函數可以原封不動地由C和C++模塊使用。下面是小編為大家...
-
C語言數組的定義及引用
引導語:數組是在程序設計中,為了處理方便,把具有相同類型的若干變量按有序的形式組織起來的一種形式。以下是本站小編分享給大家的C語言數組,希望大家喜歡!1.1一維數組的定義、初始化和引用1.一維數組的定義方式為:類型説明符數組名[常量表達式](1)數組名的命名方法...
-
C++ cin輸入流詳解
標準輸入流是從標準輸入設備(鍵盤)流向程序的數據。在頭文件iostream.h中定義了cin、cout、cerr、clog4個流對象,cin是輸入流,cout、cerr、clog是輸出流。下面是小編為大家整理的C++cin輸入流詳解,歡迎參考~cin是istream類的對象,它從標準輸入設備(鍵盤)獲取數據,程...
-
C語言中gets()函數知識
導語:gets從標準輸入設備讀字符串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。。下面是C語言中gets()函數知識,一起來學習下吧:gets()函數用於從緩衝區中讀取字符串,其原型如下:char*gets(cha...