91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

阳山县| 广饶县| 高要市| 宁强县| 沈阳市| 阿坝| 靖边县| 登封市| 通山县| 钟祥市| 六安市| 久治县| 德保县| 阜平县| 舞钢市| 柘城县| 万盛区| 册亨县| 岫岩| 南投市| 鹤岗市| 泰来县| 龙川县| 临武县| 长岛县| 巢湖市| 承德市| 白山市| 澎湖县| 眉山市| 定陶县| 新绛县| 土默特左旗| 江山市| 涿鹿县| 叙永县| 临桂县| 红桥区| 富民县| 鹿泉市| 茌平县|