c#索引器

索引器基本概念

让类的实例对象可以像数组一样通过索引访问其中元素 使程序看起来更直观 更容易编写

cs 复制代码
访问修饰符,返回值 this[参数类型 参数名,参数类型 参数名,参数类型 参数名] 
{
          内部的写法和规则索引器相同
          get{}
          set{}

   }

索引器实例

cs 复制代码
  class Person
  {
      private string name;
      private int age;
      private Person[] friends;

      private int[,] array;
      public Person this[int index]//2索引器实例//4索引器内写逻辑
      {
          get
          {
              return friends[index];
          }
          set
          {
              //value代表传入的值
              friends[index] = value;
          }
      }
      public int this[int i ,int j]
      {
          get
          {
              return array[i, j];
          }
          set
          {
              array[i, j] = value;
          }
      }
  }

索引器的使用

cs 复制代码
Person p = new Person();
p[0] = new Person();

p0这的0表示调用索引器,传入参数0

=new Person()将新创建的Person对象作为值传递给索引器的set访问器中的value参数。

p0 在赋值号左边(如 p0 = ...)时,调用 set 访问器,将右侧的值赋给 friends0。

p0 在表达式右边(如 Console.WriteLine(p0))时,调用 get 访问器,返回 friends0。

索引器的重载和使用

让我们以中括号的形式范围自定义类中的元素 ,规则自己定,访问时和数组一样

比较适用于 在类中有数组变量时的使用 可以方便的访问和进行逻辑处理

相关推荐
吃一碗粉只付一碗钱3 小时前
12-给SPA友好的401和403响应
c#·状态模式
第九序言T4 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川5 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人5 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1006 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真7 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy17 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫128 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切8 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Wang's Blog9 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友