gpt4 book ai didi

c# - 可转位接口(interface)

转载 作者:IT王子 更新时间:2023-10-29 04:46:57 24 4
gpt4 key购买 nike

如果我只想能够索引到一个类型的实例,应该使用什么 C# 接口(interface)?我不需要(或不想要)添加/删除/编辑元素的能力。枚举没问题。这是否需要自定义 IIndexable 类型?

在这种情况下,IList 有点矫枉过正,因为它强制执行我不想拥有的成员。

最佳答案

从 .Net 4.5 开始,(可以说)正确的方法现在是使用 IReadOnlyList<T> ,源自 IReadOnlyCollection<T> ,源自 IEnumerable<T>

  • IReadOnlyList<T>给你索引器
  • IReadOnlyCollection<T>为您提供集合 Count 属性。
  • IEnumerable<T>为您提供集合枚举器。

它尽可能轻。

直接实现IReadOnlyList的核心类:

关于c# - 可转位接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3141748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com