C基础——索引器
C基础——索引器
C#索引器支持对象和数组一样使用下标的方式被访问其中的字段
public 数据类型 this[参数类型 index...]
{
get
{
...
}
set
{
...
}
}
- 索引器可重载
- 索引器声明的时候也可带有多个参数
例子
class C {
static public int size = 10;
private string[ ] arr = new string[size];
// 索引器
public string this[int index]
{
get
{
if (index >= 0 && index< arr.Length)
{
return arr[index];
}
else
{
return "";
}
}
set
{
if (index >= 0 && index < arr.Length) { arr[index] = value; }
}
}
// 重载 索引器
public string this[string index]
{
get
{
int i = Int16.Parse(index);
if ( i >= 0 && i < arr.Length)
{
return arr[i];
}
else
{
return "-1";
}
}
set
{
int i = Int16.Parse(index);
if (i >= 0 && i < arr.Length) { arr[i] = value; }
}
}
// 多参数
public bool this[int index,string val]
{
get
{
return index >= 0 && index < arr.Length && arr[index] == val ? true:false;
}
set
{
arr[index] = $"{value}";
}
}
}
使用
C c = new C();
for (int i = 0; i < C.size; i++)
{
c[i] = $"{i+1}";
}
for (int i = 0; i < C.size; i++)
{
// 验证下标值是否与期望值一样
Console.WriteLine(c[i, $"{i+1}"]);
}
for (int i = 0; i < C.size; i++)
{
c[$"{i}"] = $"{C.size - (i + 1)}";
}
本文来自博客园,作者:勤匠,转载请注明原文链接:https://www.cnblogs.com/JarryShu/articles/18191236
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现