用法一、this代表當前實例,用this.來調用當前實例的成員方法,變數,屬性,欄位等 ...
用法一 this代表當前實例,用this.顯式調用一個類的方法和成員
namespace Demo { public class Test { private string scope = "全局變數"; public string getResult() { string scope = "局部變數"; // 在這裡,this代表Test的實例,所以this.scope指向的是全局變數,scope所訪問的是局部變數 return this.scope + "-" + scope; } } class Program { static void Main(string[] args) { try { Test test = new Test(); Console.WriteLine(test.getResult()); } catch (Exception ex) { Console.WriteLine(ex); } finally { Console.ReadLine(); } } } }
用法二 通過this實現原始類型的擴展(下一篇詳解)
用法三 通過this實現索引器,可用於優化程式性能(下一篇詳解)
用法四 用this串聯構造函數
namespace Demo { public class Test { public Test() { Console.WriteLine("無參構造函數"); } // 這裡的this()指向的是Test()無參構造函數 // 相當於繼承了無參構造函數 public Test(string text) : this() { // 程式進來後會先執行Test()無參函數,然後繼續往下邊執行 Console.WriteLine(text); Console.WriteLine("有參構造函數"); } } class Program { static void Main(string[] args) { try { Test test = new Test("張三"); } catch (Exception ex) { Console.WriteLine(ex); } finally { Console.ReadLine(); } } } }