当前位置:  开发笔记 > 编程语言 > 正文

Indexers有什么用?

如何解决《Indexers有什么用?》经验,为你挑选了1个好方法。

C#中索引器的真正用途是什么?

它看起来很混乱,因为我是一名新的c#程序员.它看起来像一个对象数组,但事实并非如此.



1> Renaud Bompu..:

您可以将索引器视为带参数的Property.您对此参数的处理取决于您自己.

通常,索引器用于提供对象的索引是有意义的.

例如,如果您的对象处理项目集合,则能够使用简单'[]'语法访问它们是有意义的,因为很容易将其视为一个数组,我们给出了要返回的对象的位置.

我不久前写了一篇关于使用反射的索引器方面的博客文章.
我给出的一个例子是:

 using System;  
 using System.Collections;  

 public class DayPlanner  
 {  
     // We store our indexer values in here   
     Hashtable _meetings = new System.Collections.Hashtable();  

     // First indexer  
     public string this[DateTime date] {  
         get {  
             return _meetings[date] as string;  
         }  
         set {  
             _meetings[date] = value;  
         }  
     }  

     // Second indexer, overloads the first  
     public string this[string datestr] {  
         get {  
             return this[DateTime.Parse(datestr)] as string;   
         }  
         set {  
             this[DateTime.Parse(datestr)] = value;  
         }  
     }  
 }  

然后你可以像这样使用它:

  DayPlanner myDay = new DayPlanner();  
  myDay[DateTime.Parse("2006/02/03")] = "Lunch";  
  ...  
  string whatNow = myDay["2006/06/26"];

这只是为了表明你可以扭曲索引器的目的来做你想要的.
并不意味着你应该...... :-)

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有