举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#索引器用的多吗 C# 索引器

c#索引器用的多吗 C# 索引器

2023-02-26 21:18 C#教程

c#索引器用的多吗 C# 索引器

c#索引器用的多吗

C#索引器是一种特殊的属性,它可以使用数字或字符串来访问对象的内部数据。它可以用来替代数组,从而使代码更加灵活,易于理解。C#中的索引器允许你在一个对象中定义多个不同的“键”(例如字符串或数字),并将这些键映射到不同的值。

C#中的索引器可以用来实现多态性,因为它允许你在不同的对象上使用相同的语法来访问不同的数据。例如,你可以使用相同的语法来访问一个数组中的元素,也可以使用相同的语法来访问一个字典中的键/值对。

C#中的索引器还可以带来很多好处。例如,它可以带来更好地性能表现(因为它不需要分配内存即可运行)、更好地代码重用、更好地代码可读性、更好地代码扩展性、更好地代码测试性能、减少内存占用量、减少代码量、减少bug出现机会。

public class MyClass 
{ 
    private string[] myArray = new string[10]; 

    public string this[int index] 
    { 
        get { return myArray[index]; } 
        set { myArray[index] = value; } 
    } 

    public string this[string key] 
    { 
        get { return myArray[int.Parse(key)]; } 
        set { myArray[int.Parse(key)] = value; } 
    }  										   // 示例 C# 索引器  
}

C# 索引器

C# 索引器

索引器提供了一个类似数组的语法来访问类或结构中的元素。

索引器与属性类似,但可通过索引参数访问,而不是属性名称。

字符串类有一个索引器,它允许您通过int索引访问其每个char值:


string s = "hello"; 
Console.WriteLine (s[0]); // "h" 
Console.WriteLine (s[3]); // "l" 

使用索引器的语法与使用数组的语法相似,除了index参数可以是任何类型。

索引器具有与属性相同的修饰符。


实现索引器

要编写索引器,请定义一个名为this的属性,在方括号中指定参数。

例如:


class MyWord { 
   string[] words = "this is a test".Split(); 
   
   public string this [int wordNum] // indexer 
   { 
       get { 
           return words [wordNum]; 
       } 
       set { 
           words [wordNum] = value; 
       } 
   } 
} 

以下是我们如何使用此索引器:


MyWord s = new MyWord(); 
Console.WriteLine (s[3]);
s[3] = "CSS"; 
Console.WriteLine (s[3]); // CSS

类型可以声明多个索引器,每个索引器具有不同类型的参数。

索引器也可以采用多个参数:


public string this [int arg1, string arg2] {
    get { ... } set { ... } 
} 

如果省略set存取器,索引器将变为只读。



阅读全文
以上是编程学为你收集整理的c#索引器用的多吗 C# 索引器全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#转换16进制函数 C# 转换

    c#转换16进制函数 C# 转换

    2023-02-23 C#教程

    C# 转换转换和引用对象引用可以是:隐式向上转换为基类引用 显式地向下转换为子类引用 上传总是成功的;只有在对象正确键入时,向...

  • c#抽象类的定义 C# 抽象类

    c#抽象类的定义 C# 抽象类

    2023-02-27 C#教程

    C#抽象类抽象类是表示抽象概念的特殊类。例如,Integer是一个具体而Number是抽象的。形状是抽象的,而圆形是具体的。一个声明为...

  • 遗嘱房产继承怎么写 C# 继承的成员

    遗嘱房产继承怎么写 C# 继承的成员

    2023-02-24 C#教程

    C#继承的成员隐藏继承的成员基类和子类可以定义相同的成员。例如:public class A {public int Counter = 1; } public class B ...

  • typeof是什么意思 C# GetType和typeof

    typeof是什么意思 C# GetType和typeof

    2023-02-23 C#教程

    C#GetType和typeofC#中的所有类型都在运行时由System.Type的实例表示。有两种基本方法来获取System.Type对象:在实例上调用Get...

  • c#tostring格式 C# ToString

    c#tostring格式 C# ToString

    2023-02-24 C#教程

    C#ToString ToString 方法返回类型实例的默认文本表示。此方法被所有内置类型覆盖。例子这里有一个使用int类型的ToString方法的...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部