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

浙公网安备 33010602011771号