c# 哪些类可以使用中括号[]取值?

数组和字典都可以通过中括号取值,但是昨天试了一下通过linq的GroupBy得到的iGrouping对象好像不能用中括号?这是为啥呢?是需要实现某个接口才能用这个中括号吗?感觉iGrouping类和dictionary类的数据结构差不多,都是键值对,而且都实现了IEnumerable接口:

image.png

阅读 3.1k
1 个回答

包含相应索引器属性的才可以:

class Foo 
{
    public Bar this[string key]
    {
        get { /* do sth */ } 
        set { /* do sth */ } 
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进