C# 中的關鍵字之:base、this(二)

來源:互聯網
上載者:User

以下是 this 的常用用途:

  1.   限定被相似的名稱隱藏的成員
  2.   將對象作為參數傳遞到其他方法
  3.   聲明索引器

  樣本:

  綜合樣本。

以下是引用片段:<br />  // this 關鍵字<br />  // keywords_this.cs<br />  using System;<br />  class Employee<br />  {<br />  private string _name;<br />  private int _age;<br />  private string[] _arr = new string[5];<br />  public Employee(string name, int age)<br />  {<br />  // 使用this限定欄位,name與age<br />  this._name = name;<br />  this._age = age;<br />  }<br />  public string Name<br />  {<br />  get { return this._name; }<br />  }<br />  public int Age<br />  {<br />  get { return this._age; }<br />  }<br />  // 列印僱員資料<br />  public void PrintEmployee()<br />  {<br />  // 將Employee對象作為參數傳遞到DoPrint方法<br />  Print.DoPrint(this);<br />  }<br />  // 聲明索引器<br />  public string this[int param]<br />  {<br />  get { return _arr[param]; }<br />  set { _arr[param] = value; }<br />  }<br />  }<br />  class Print<br />  {<br />  public static void DoPrint(Employee e)<br />  {<br />  Console.WriteLine("Name: {0}/nAge: {1}", e.Name, e.Age);<br />  }<br />  }<br />  class TestApp<br />  {<br />  static void Main()<br />  {<br />  Employee E = new Employee("Hunts", 21);<br />  E[0] = "Scott";<br />  E[1] = "Leigh";<br />  E[4] = "Kiwis";<br />  E.PrintEmployee();<br />  for(int i=0; i<5; i++)<br />  {<br />  Console.WriteLine("Friends Name: {0}", E[i]);<br />  }<br />  Console.ReadLine();<br />  }<br />  }<br />  /**//*

  控制台輸出:

  Name: Hunts

  Age: 21

  Friends Name: Scott

  Friends Name: Leigh

  Friends Name:

  Friends Name:

  Friends Name: Kiwis

  */

  注意點:

  由於靜態成員函數存在於類一級,並且不是對象的一部分,因此沒有 this 指標。在靜態方法中引用 this 是錯誤的。

  索引器允許類或結構的執行個體按照與數組相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用參數。

連結的部落格地址是:http://blog.163.com/huang_ying_lu/blog/static/269998320081109212363/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.