【转】C#索引器-索引器的定义

【C#进阶】C# 索引器 🍂 Hello大家好啊,我是作家桑。本文为大家介绍 C# 中的索引器。 阅读详情

索引器定义类似于属性,但其功能与属性并不相同。索引器提供一种特殊的方法编写get和set访问器。属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员。定义索引器的语法如下:

<访问修饰符> 类型名称 this [类型名称 参数名]
{

    get{//获得属性的代码}                                                 

    set{ //设置属性的代码}

}

索引器没有像属性和方法那样的名字,关键字this清楚地表达了索引器引用对象的特征。和属性一样,value关键字在set后的语句块里有参数传递意义。

和 方法一样,索引器有5种存取保护级别new、public、protected、internal、private,和4种继承行为修饰virtual、 sealed、override、abstract,以及外部索引器。这些行为同方法没有任何差别。唯一不同的是索引器不能为静态(static),这在 对象引用的语义下很容易理解。值得注意的是在重写(override)实现索引器时,应该用base[E]来存取父类的索引器。

和属性的实现一样,索引器的数据类型同时为get语句块的返回类型和set语句块中value关键字的类型。

索 引器的参数列表也是值得注意的地方。“索引”的特征使得索引器必须具备至少一个参数,该参数位于this关键字之后的中括号内。索引器的参数也只能是传值 类型,不可以有ref(引用)和out(输出)修饰。参数的数据类型可以是C#中的任何数据类型。C#根据不同的参数签名来进行索引器的多态辨析。中括号 内的所有参数在get和set下都可以引用,而value关键字只能在set下作为传递参数。

定义索引器应注意以下内容:

1、所有索引器都使用this关键词来取代方法名。Class或Struct只允许定义一个索引器,而且总是命名为this。

2、索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。

3、get 访问器返回值。set 访问器分配值。

4、this 关键字用于定义索引。

5、value 关键字用于定义由 set 索引器分配的值。

6、索引器不一定根据整数值进行索引,您可以根据编程要求指定参数类型。

7、索引器可被重载。

8、索引器可以有多个形参,例如当访问二维数组时。

9、索引器的方括号中可以是任意参数列表。

 

http://panjunlai.blog.163.com/blog/static/581903012010420786414/

C# 索引器 使用详解 阅读详情

相关推荐

C#索引器的定义代码(可以写成实验)

C#索引器定义代码(可以写成实验) 运行成功的,不过要注意实验里的类名和命名空间哦

C# 中常用的索引器

使用 C# 中的索引器和 JavaScript 中访问对象的属性是很相似。 之前了解过索引器,当时还把索引器和属性给记混了, 以为索引器就是属性,下面写下索引器和属性的区别,以及怎么使用索引器 先说明一点,这里的索引器和数据库中的索引不一样,虽然都是找元素。 索引器和属性的区别: 属性和索引器都是函数,但是表现形式不一样;(属性和索引器在代码的表现形式上和函数不一致,但其本质都是...

xulong5000的专栏 444

索引器的定义 c# 适合初学者

c# 索引器的定议,适合初学者参考。 龙天下 团队整理提供,欢迎菜鸟,高手加入龙天下,互相交流学习,共同成长。

索引器与数组的区别(详解)

<span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font: minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-the

Burst With Long Accumulate 1278

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 528

干扰管理学习日志4-------信道估计方法 LS(最小二乘)、MMSE(最小均方误差)

信道估计,就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。本文主要讲述非盲信道估计中的LS估计和MMSE估计。LS全称为,即估计的信道参数与实际信道参数的差,进行平方求和后得到的误差累积最小。MMSE估计是LS估计的改进,在LS估计的最终结果的基础上乘以加权矩阵,使之与实际信道参数更为接近。

taiyuezyh的博客 1万+

C#索引器详解

C#中的索引器允许你通过类似于数组的语法来访问对象的元素。它们提供了一种在类或结构中定义和访问元素的方式,就像访问数组或集合的元素一样。

qq_45997271的博客 935

DDR内存Prefetch机制详解:从DDR1到DDR4的技术演进与性能提升

本文深入解析DDR内存Prefetch机制从DDR1到DDR4的技术演进与性能提升。通过分析Prefetch技术的实现原理与Burst传输的协同机制,揭示DDR1的2n Prefetch、DDR2的4n Prefetch、DDR3的8n Prefetch以及DDR4的Bank Group架构创新如何显著提升内存带宽与系统性能。

weixin_30369041的博客 537

C#索引器

1.索引器是什么? 索引器是一种特殊的类成员,能够让对象以类似数组的方式来存取 2.索引器的作用? 索引器允许类或结构的实例可以像数组一样被索引 3.如何使用索引器? 语法: element-type this[int index] { get{} set{} } 一个简单的操作数组的索引器实例: ①创建一个Idexer类,类成员包括一个string数组,包括一个...

贵有恒,何必三更眠五更起;最无益,莫过一日曝十日寒 884

obisidian插件之【templater】模板的中文说明书

Templater 是一种模板语言,可让您将变量和函数结果插入到笔记中。它还允许您执行操作这些变量和函数的 JavaScript 代码。使用 Templater,您将能够创建强大的模板来自动执行手动任务。

m0_55795604的博客 1万+

OK3588-C开发板Forlinx Desktop系统烧录与多媒体功能实战

本文详细介绍了OK3588-C开发板Forlinx Desktop系统的烧录步骤与多媒体功能实战。从硬件准备到软件工具配置,逐步解析RKDevTool烧录技巧,并深入测试摄像头、视频编解码及音频功能,帮助开发者快速掌握RK3588芯片的强大性能与Ubuntu系统的优化应用。

weixin_29190169的博客 417

c#索引器的使用与用途

索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等) 本文只是简单演示一下索引器的概念和基本的使用方法: 请看...

lyh_lry的博客 5986

MIT Mini Cheetah--仿真流程

MIT Mini Cheetah–仿真 摘要 由于官方提供代码中,控制仿真环境中的猎豹机器人运动需要遥控器来控制。官方默认推荐使用logitech Gamepad F310游戏手柄:We use the Logitech F310 controller. There’s a switch in the back, which should be in the “X” position. The controller needs to reconnected if you change the switch

Galaxy_Robot的博客 5915

C#接口定义,索引器的定义

Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE<w:LatentStyles DefLockedState="false" De

lxf544207706的专栏 4494

机器人多学科仿真软件:Webots_(19).Webots的插件与扩展开发

通过上述步骤,您可以开发和使用Webots的插件、扩展和接口,以增强其功能和灵活性。

kkchenjj的博客 923

CT探测器普遍采用“星形拓扑+多ADC模组”架构的TDC(时间数字转换器)设计方案

本文提出一种基于TDC反馈机制的CT探测器时钟同步方法,通过延时测量、偏差计算和动态补偿三步硬件流水线,实现高精度同步。系统采用Xilinx Kintex UltraScale FPGA内置CARRY8进位链构建3.5ps分辨率的TDC,结合多级比较器和延迟单元,形成闭环反馈控制。实验表明,在512通道、1.28m传输距离下,同步精度稳定在10ps以内,较传统方案提升两个数量级,并能动态补偿干扰抖动。该方案解决了传统方法在CT旋转腔体环境下精度不足的问题,为下一代超高清CT提供了有效的时钟同步解决方案。

whm128的博客 274

C#索引器的使用

我们可以使用索引器的set访问器来设置数组中特定位置的值,使用get访问器来获取数组中特定位置的值。C#索引器是一种特殊的属性(Property),C#索引器的主要使用场合是在自定义的集合类或数据结构中,通过索引来访问和操作集合内的元素。C#索引器是一种特殊的属性,它允许使用类似数组的语法来访问类的实例的成员。索引器不支持可变参数:C#中的索引器不允许使用可变参数,即不能在索引器中使用"params"关键字。总之,C#索引器是一种方便的方式来访问类的实例中的成员,使其具有类似数组的行为。

blu_e__heart的博客 1511

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

c#中索引器是什么_C#中的索引器

c#中索引器是什么An Indexer is a special feature of C# to use an object as an array. If you define an indexer in a class then it will behave like a virtual array. Indexer is also known as smart array in C#. I...

cumt951045的博客 1917

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C# 索引器(Indexer)

C#索引器是一种特殊类成员,允许对象通过下标进行数组式访问。其语法使用this关键字定义,支持get和set访问器,参数类型不限整数。与属性相比,索引器必须为实例成员且支持重载,特别适合自定义集合类实现类似数组的操作。典型应用包括管理成绩数据等需要索引访问的场景,通过简化访问方式提升代码可读性。

likuoelie的博客 1104

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

c#索引器

https://www.cnblogs.com/lgx5/p/9448361.html 索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数...

qq_33380252的博客 1501

索引器的详细讲解(C#)

索引器与属性很类似。索引器的创建与属性创建所使用的编程语言特性是一样的。索引器使属性被索引:使用一个或多个参数引用的属性,这些参数为某些值集合提供索引。 索引器语法 可以通过变量名和方括号访问索引器。将索引器参数放入方括号内: var item = SomeObject["key"]; SomeObject["keyOther"] = item; 使用this关键字作为属性名声明索引器,并在方括号内声明参数: public int this[string Key] {

草原上唱山歌的博客 4293

[C#]C# 索引器

/ get 访问器get// 返回 index 指定的值// set 访问器set// 设置 index 指定的值索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于索引器访问需要参数。例如,i < size;seti++ )

FL1768317420的博客 1027

c#索引器的使用

索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。 索引器允许类和结构的实例按照与数组相同的方式进行索引,索引器类似与属性,不同之处在于他们的访问器采用参数。被称为有参属性。 案例...

qq_43552118的博客 1430

无涯教程-C# - 索引器

索引器允许对象(如数组)进行索引,当您为类定义索引器时,此类的行为类似于虚拟数组,然后可以使用数组访问运算符([])访问此类的。一维索引器具有以下语法-elementtypethisintindexget//返回 index 指定的值set//设置 index 指定的值。

无涯教程 950

C#中索引器的实现

<br />索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似属性,但不同之处在于它们的访问器采用参数。它可以像数组那样对对象采用下标。它提供了通过索引方式方便地访问类的数据信息的方法。<br /> <br />C#并不将索引类型限制为整数,所以我们可以通过访问器的重载,实现整数索引或者字符串索引。<br /> <br />重载索引器时,要保证形参的数量或形参类型至少有一不同。这一点同C#中方法重载貌似没有什么区别。<br /> <br />下面我们就通过简单的例子,实现整数索引和字符串索引

Hamber_Bao的专栏 1424
上一篇: 【C#】中的延时的方法。
下一篇: c++模板类/模板函数的声明与定义应该放在头文件里
caixiexin
博客等级 码龄17年 122粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值