Indexer は、配列のような方法でオブジェクトにアクセスできるようにする特別なクラス メンバーであり、プログラムをより直感的で簡単に作成できるようにします。
1. インデクサーの定義
C# のクラス メンバーは、配列やコレクションを含む任意の型にすることができます。クラスに配列メンバーとコレクション メンバーが含まれている場合、インデクサーは配列メンバーまたはコレクション メンバーへのアクセスを大幅に簡素化します。インデクサーを定義する方法は、属性の定義に似ています。その一般的な形式は次のとおりです: インデクサー //これは、このオブジェクトを操作する配列またはコレクションのメンバーを表します。したがって、単純にインデクサーの名前として理解できます。 、とき 同じ型の場合は、パラメータで区別することを忘れないでください。
//[修饰符] 数据类型 this[索引类型 index] { get{//获得属性的代码} set{ //设置属性的代码} }
public int this [int index] { get{} set{} }
インデクサーは、クラスのインスタンスの配列メンバーにアクセスすることができます。一般的な形式は次のとおりです。
オブジェクト名 [インデックス]修飾子には、public、protected、private、internal、new、virtual、sealed、override、abstract、extern が含まれます。インデックスのデータ型はインデックスの型と同じである必要があります。インデクサーの。例:
class Z { //可容纳100个整数的整数集 private long[] arr = new long[100]; //声明索引器 public long this[int index] { get { //检查索引范围 if (index < 0 || index <= 100) { return 0; } else { return arr[index]; } } set { if (!(index < 0 || index <= 0)) { arr[index] = value; } } }
Z z=new z(); z[0]=100; z[1]=101; Console.WriteLine(z[0]);//表示先创建一个对象z,再通过索引来引用该对象中的数组元素。
C# インデクサー (パラメーターをサポートするプロパティ) とプロパティの比較をさらに詳しく理解するには、PHP 中国語 Web サイトの関連記事に注目してください。