网站首页 > 技术教程 正文
在 C# 中,索引器又被称为 "属性",它们允许我们通过使用类似于数组的语法来访问类的实例。
语法格式:
public class MyClass
{
private List<string> myList = new List<string>();
public string this[int index]
{
get
{
return myList[index];
}
set
{
myList[index] = value;
}
}
}
创建了一个 MyClass 类,它有一个私有的 List<string> 成员变量 myList。然后,为 MyClass 类定义了一个索引器,这个索引器可以通过使用类似于 myClass[0] 的语法来访问 myList 中的元素。
需要注意的是,get 和 set 访问器是用于获取和设置值的。
在 get 访问器中,返回相应的值;
在 set 访问器中,设置列表中对应位置的值。
代码的调用:
MyClass myClass = new MyClass();
myClass.Add("Hello");
myClass.Add("World");
Console.WriteLine(myClass[0]); // Outputs: Hello
Console.WriteLine(myClass[1]); // Outputs: World
综合练习-定义操作字符串数组的索引器
完整示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StringArrayIndex
{
internal class Program
{
static void Main(string[] args)
{
CollClass cc = new CollClass();//创建CollClass类的对象
cc[0] = "CSharp";//通过索引器给数组元素赋值
cc[1] = "ASP.NET";//通过索引器给数组元素赋值
cc[2] = "Python";//通过索引器给数组元素赋值
cc[3] = "Java";//通过索引器给数组元素赋值
for (int i = 0; i < CollClass.SIZE; i++)//遍历所有的元素
{
Console.WriteLine(cc[i]);//通过索引器取值
}
Console.Read();
}
}
class CollClass
{
public const int SIZE = 4;//表示数组的长度
private string[] arrStr;//声明数组
public CollClass()//构造方法
{
arrStr = new string[SIZE];//设置数组的长度
}
public string this[int index]//定义索引器
{
get
{
return arrStr[index];//通过索引器取值
}
set
{
arrStr[index] = value;//通过索引器赋值
}
}
}
}
猜你喜欢
- 2024-11-08 NAS下搭建一个简洁的现代文件索引器,专注于您的文件。
- 2024-11-08 C# 中的性能提升 - Span 和 Memory
- 2024-11-08 Windows 10版本2004解决了重大Bug:再无高CPU占用和性能问题
- 2024-11-08 简析AVM白皮书:一种让BTC实现动态“状态机”的图灵完备虚拟机?
- 2024-11-08 自动化追剧系统的设置方法(自动化追剧系统的设置方法有哪些)
- 2024-11-08 微软确认:Win10 5月更新将大幅提升机械硬盘速度
- 2024-11-08 #好看电影推荐(#好看电影推荐大片9.0以上评分国产)
- 2024-11-08 105.C# 索引器Indexer(c中索引器的实现过程)
- 2024-11-08 有人知道枚举器和迭代器吗(枚举原理)
- 2024-11-08 nas-tools升级版更新,全新的功能和一些遇到的问题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)