`
rorely
  • 浏览: 119823 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#类索引器的使用

阅读更多
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->索引器提供了一种可以让类被当作数组进行访问的方式。在C#中,类索引器是通过this的属性实现的。
index.ToString("D2")将index转换成一个具有两个字符宽度的字符串

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClassIndexer
{
    
/// <summary>
    /// define a class called AClass,which has only one private variable
    /// </summary>
   class AClass {
       
private string _name;
       
public string Name {
           get { 
return this._name; }
           set { 
this._name = value; }
       }
       
public AClass(string name) {
           
this._name = name;
       }
    }
    
/// <summary>
    /// AClassContainer class
    /// </summary>
   class AClassContainer {
       
private AClass[] _AClassList;
       
public AClassContainer() {
           
this._AClassList = new AClass[10];
       }
       
public AClassContainer(int cap) {
           
this._AClassList = new AClass[cap];
       }
       
/// <summary>
       /// class indexer by using int 
       /// </summary>
       /// <param name="index"></param>
       /// <returns></returns>
       public AClass this[int index] {
           get {
               
if ((index < 0|| (index > this._AClassList.Length)) return null;
               
else return this._AClassList[index];
           }
           set {
               
if ((index < 0|| (index > this._AClassList.Length)) return;
               
else this._AClassList[index] = value;
           }
       }
       
/// <summary>
       /// class indexer by using string
       /// </summary>
       /// <param name="name"></param>
       /// <returns></returns>
       public AClass this[string name] {
           get {
               foreach (AClass cls in 
this._AClassList) {
                   
if (cls.Name == name) return cls;
               }
               
return null;
           }
       }
   }
    
class Program
    {
        
static void Main(string[] args)
        {
            
int count = 10;
            AClassContainer classContainer 
= new AClassContainer(count);
            
for (int index = 0; index < count; index++) {
                string name 
= index.ToString("D2");
                classContainer[index] 
= new AClass(name);
            }
            
for (int index = 0; index < count; index++)
            {
                AClass cls 
= classContainer[index];
                System.Console.WriteLine(
"classContainer[{0}].Name=\"{1}\"",index,cls.Name);
            }
            System.Console.WriteLine();
            
for (int index = count - 1; index >= 0; index--) {
                string name 
= index.ToString("D2");
                AClass cls 
= classContainer[name];
                System.Console.WriteLine(
"classContainer[{0}].Name=\"{1}\"",name,cls.Name);
            }
            System.Console.ReadLine();
        }
    }
}

结果:
classContainer[0].Name="00"
classContainer[1].Name="01"
classContainer[2].Name="02"
classContainer[3].Name="03"
classContainer[4].Name="04"
classContainer[5].Name="05"
classContainer[6].Name="06"
classContainer[7].Name="07"
classContainer[8].Name="08"
classContainer[9].Name="09"

classContainer[09].Name="09"
classContainer[08].Name="08"
classContainer[07].Name="07"
classContainer[06].Name="06"
classContainer[05].Name="05"
classContainer[04].Name="04"
classContainer[03].Name="03"
classContainer[02].Name="02"
classContainer[01].Name="01"
classContainer[00].Name="00"


分享到:
评论

相关推荐

    C# 类索引器源码

    在C#编程语言中,类索引器是一种特殊的方法,允许开发者通过索引来访问类的成员,就像操作数组或集合一样。索引器使得类能够模拟数组的行为,即便其内部数据结构并非数组。这种功能极大地提高了代码的可读性和易用性...

    C#=索引器的使用

    在C#编程中,索引器是一个特殊的功能,它允许我们像访问数组那样访问类的成员,即使这些成员并不是实际的数组。索引器的概念引入是为了提供一种方便、直观的方式来访问对象的集合或序列,而无需定义特定的方法来获取...

    c# 索引器三

    在C#编程语言中,索引器是一种特殊的方法,它允许类或结构的实例像数组一样被访问。索引器的使用使得数据集合可以轻松地通过一个特定的键(通常是整数或字符串)来访问其元素,而无需定义显式的get和set方法。在本篇...

    C#视频 索引器一

    在C#编程语言中,索引器是一种特殊的方法,它允许类或结构的实例通过一个类似于数组的语法来访问其内部的数据。索引器的概念引入,使得开发者可以自定义对象的访问方式,使得代码更加直观和简洁。在这个“C#视频 ...

    C#索引器适合初学者的C#索引器适合初学者的

    最后,理解并熟练使用C#索引器将使你的代码更易读、更直观,特别是在处理自定义数据结构时。对于初学者来说,从基础知识开始,逐渐掌握如何创建和使用索引器,是提升编程技能的重要步骤。通过实践和不断的探索,你将...

    C# 中对于 索引器的理解 一个实例

    在C#编程语言中,索引器是一种特殊的方法,它允许类或结构以类似数组的方式访问其成员。索引器的使用使得数据集合可以轻松地通过下标进行访问,就像处理数组或列表一样。这对于创建自定义数据结构,如矩阵、字典或...

    C# 索引器的一个简单例子,模仿数组

    在C#编程语言中,索引器是一种特殊的方法,它允许我们像操作数组一样通过索引来访问类中的数据。这个特性使得自定义类型能够提供类似于数组的访问方式,增加了代码的可读性和便利性。本篇文章将深入探讨C#中的索引器...

    C#索引器示例程序

    下面我们将详细讨论C#索引器的概念、语法以及如何创建和使用索引器。 首先,索引器的定义通常在类或结构体中,且返回类型为类的实例本身,这使得我们可以连续调用索引器。例如,`this[int index]`是一个常见的索引...

    龙天下整理c#索引器的例子

    "龙天下整理c#索引器的例子"是一个很好的学习资源,它通过模拟音像店的CD光盘管理来演示索引器的使用方法。 首先,我们需要理解索引器的基本语法。在C#中,索引器通常定义为类或结构的成员,使用`this`关键字作为...

    C#索引器的讲解(1)

    在这个“C#索引器的讲解(1)”中,我们将探讨索引器的基础知识,这是分四部分系列教程的第一部分。 首先,我们需要了解索引器的基本语法。在C#中,索引器通常定义为类或结构的实例成员,并且使用`this`关键字作为...

    C#索引器的使用.zip

    下面我们将深入探讨C#索引器的使用: 1. **定义索引器**: 在C#中,索引器定义在类或结构中,使用关键字`this`作为返回类型的一部分。例如,一个简单的索引器可能如下所示: ```csharp public class MyClass { ...

    C#类中索引器的使用.pdf

    【C#类中索引器的使用】 C#语言中,索引器是类的一个特殊成员,它使得类的对象能够像数组那样通过索引进行访问。这种特性在创建集合类或者处理复杂数据结构时尤为实用,它允许我们通过指定的键(不一定是整数)来...

    c#_索引器详解C#经典教程

    总的来说,C# 索引器是实现自定义数据访问模式的重要工具,它扩展了类的灵活性,使开发者能够根据具体需求创建高效且易于使用的接口。无论是单参数还是多参数,索引器都能帮助我们更好地管理和操作类中的数据。

    C#在类中使用索引器Demo

    在这个特定的“C#在类中使用索引器Demo”项目中,我们聚焦于如何在类中利用索引器来检索数据,以及如何使用正则表达式进行数字验证。这两个知识点对于理解和开发高效的数据访问代码至关重要。 首先,让我们深入了解...

    c#数组索引器集合典型程序示例

    在C#编程语言中,数组和索引器是两种非常基础且重要的概念,它们在创建和操作数据集合时起着核心作用。数组是一种线性数据结构,用于存储同类型的元素集合,而索引器则提供了类似数组的访问方式,使得类的实例可以像...

    C#中索引器的使用代码文件

    C#中索引器的使用代码文件

    C#类中索引器的使用[参考].pdf

    总的来说,C#中的索引器是面向对象编程中的一个重要特性,它增强了类的灵活性和可定制性,使得对象能够以更加直观和便捷的方式处理数据。在设计集合类或者需要自定义访问机制的场景下,正确使用索引器可以显著提升...

    c#中索引器的应用简单版

    2. **映射和字典**:C#中的`Dictionary, TValue&gt;`类实际上就使用了索引器,允许用户通过键(Key)直接访问对应的值(Value)。 3. **数据绑定**:在Windows Forms或WPF应用程序中,索引器常用于数据绑定,使得UI组件...

    关于C#索引器

    在C#中,索引器的定义通常包含在类或结构体中,它们看起来很像属性,但带有参数。这些参数用于指定索引值。在提供的示例中,可以看到`IndexClass`有一个名为`this[int index]`的索引器,这意味着我们可以使用整数...

    C#索引器的讲解(2)

    在本教程中,我们将深入探讨C#索引器的原理、用法以及最佳实践。 首先,索引器的语法与普通方法类似,但它们的定义使用了`this`关键字作为返回类型的一部分,并且通常接受一个或多个参数。这些参数代表索引值,用来...

Global site tag (gtag.js) - Google Analytics