如何在 C# 中重载 [] 运算符?
csharpserver side programmingprogramming更新于 2025/4/11 17:37:17
[] 运算符称为索引器。
索引器允许对对象(例如数组)进行索引。当您为类定义索引器时,该类的行为类似于虚拟数组。然后,您可以使用数组访问运算符 ([ ]) 访问此类的实例。
索引器可以重载。索引器也可以用多个参数声明,每个参数可以是不同的类型。索引不一定是整数。
示例 1
static void Main(string[] args){
IndexerClass Team = new IndexerClass();
Team[0] = "A";
Team[1] = "B";
Team[2] = "C";
Team[3] = "D";
Team[4] = "E";
Team[5] = "F";
Team[6] = "G";
Team[7] = "H";
Team[8] = "I";
Team[9] = "J";
for (int i = 0; i < 10; i++){
Console.WriteLine(Team[i]);
}
Console.ReadLine();
}
class IndexerClass{
private string[] names = new string[10];
public string this[int i]{
get{
return names[i];
} set {
names[i] = value;
}
}
}
输出
A B C D E F G H I J
示例 2
Overriding []
static class Program{
static void Main(string[] args){
IndexerClass Team = new IndexerClass();
Team[0] = "A";
Team[1] = "B";
Team[2] = "C";
for (int i = 0; i < 10; i++){
Console.WriteLine(Team[i]);
}
System.Console.WriteLine(Team["C"]);
Console.ReadLine();
}
}
class IndexerClass{
private string[] names = new string[10];
public string this[int i]{
get{
return names[i];
}
set{
names[i] = value;
}
}
public string this[string i]{
get{
return names.Where(x => x == i).FirstOrDefault();
}
}
}
输出
A B C C
相关文章
打印
下一节:如何使用 C# 中的 Newtonsoft json 将 JSON 反序列化为 .NET 对象并从数组中仅选择一个值? ❯❮ 上一节:如何在 C# 中检查您是否已连接到 Internet?

