亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#語言知識點整理 - 索引

發布時間:2020-06-27 02:07:10 來源:網絡 閱讀:618 作者:勇闖天涯X 欄目:編程語言

一、 索引器定義:

索引器允許類或結構的實例就像數組一樣進行索引。 

二、 索引器使用

索引器經常是在主要用于封裝內部集合或數組的類型中實現的。

C# 并不將索引類型限制為整數

三、 接口索引器與類索引器的區別: 

 接口訪問器不使用修飾符。

 接口訪問器沒有體。 

四、 索引器與屬性的區別:

索引器與屬性類似。 除下表中顯示的差別外,為屬性訪問器定義的所有規則同樣適用于索引器訪問器。

屬性

索引器

允許像調用公共數據成員一樣調用方法。

允許對一個對象本身使用數組表示法來訪問該對象內部集合中的元素。

可通過簡單的名稱進行訪問。

可通過索引器進行訪問。

可以為靜態成員或實例成員。

必須為實例成員。

屬性的 get 訪問器沒有參數。

索引器的 get 訪問器具有與索引器相同的形參表。

屬性的 set 訪問器包含隱式 value 參數。

除了值參數外,索引器的 set 訪問器還具有與索引器相同的形參表。

支持對使用短語法。

不支持短語法。

 

五、 索引器示例:

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Text;
   5: using System.Collections.Specialized;
   6:  
   7: namespace CSharp.Indexer
   8: {
   9:     public class Employee
  10:     {
  11:         private string _name = "";
  12:  
  13:         public string Name
  14:         {
  15:             get { return _name; }
  16:             set { _name = value; }
  17:         }
  18:  
  19:         public Employee(string name)
  20:         {
  21:             this._name = name;
  22:         }
  23:     }
  24:  
  25:     public interface IEmployeeInterface
  26:     {
  27:         //int Indexer declaration
  28:         Employee this[int index]
  29:         {
  30:             set;
  31:         }
  32:  
  33:         //string indexer declaration
  34:         Employee this[string name]
  35:         {
  36:             get;
  37:             set;
  38:         }
  39:     }
  40:  
  41:     public class EmployeeList : IEmployeeInterface
  42:     {
  43:         private ListDictionary empDictionary;
  44:  
  45:         public EmployeeList()
  46:         {
  47:             empDictionary = new ListDictionary();
  48:         }
  49:  
  50:         // The int indexer.
  51:         public Employee this[int item]
  52:         {
  53:             set
  54:             {
  55:                 if (value != null && !string.IsNullOrEmpty(value.Name))
  56:                 {
  57:                     empDictionary.Add(value.Name, value);
  58:                 }
  59:             }
  60:         }
  61:  
  62:         // The string indexer.
  63:         public Employee this[string name]
  64:         {
  65:             get { return (Employee)empDictionary[name]; }
  66:             set { empDictionary.Add(name, value); }
  67:         }
  68:     }
  69:  
  70:     class Program
  71:     {
  72:         static void Main(string[] args)
  73:         {
  74:             EmployeeList empList = new EmployeeList();
  75:  
  76:             empList[0] = new Employee("david");
  77:             empList[1] = new Employee("lisa");
  78:             empList[2] = new Employee("nana");
  79:  
  80:             empList["alice"] = new Employee("alice");
  81:             empList["sam"] = new Employee("sam");
  82:  
  83:             Employee alice = empList["alice"];
  84:             Console.WriteLine("Alice 's name is {0}", alice.Name);
  85:             Employee nana = empList["nana"];
  86:             Console.WriteLine("Nana 's name is {0}", nana.Name);
  87:             
  88:             Console.ReadLine();
  89:         }
  90:     }
  91: }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大洼县| 霍邱县| 姜堰市| 出国| 台江县| 苗栗市| 类乌齐县| 确山县| 丰城市| 塔河县| 旬邑县| 固始县| 和龙市| 喀喇| 诸城市| 白玉县| 鄂伦春自治旗| 沁源县| 祁东县| 乌兰浩特市| 富顺县| 固原市| 北京市| 金乡县| 阿克苏市| 珲春市| 丽水市| 库车县| 玉屏| 道孚县| 天柱县| 望城县| 定远县| 讷河市| 湟中县| 綦江县| 广昌县| 永寿县| 安义县| 西青区| 婺源县|