哪个标准范围适用于C#8中的数组和字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪个标准范围适用于C#8中的数组和字符串?相关的知识,希望对你有一定的参考价值。
我正在浏览C#8范围,无法理解Range的应用是如何仅限于数组和字符串。
我以为这与接口数组实现有关。它实现了ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable, IList<T>, ICollection<T>, IEnumerable<T>, IReadOnlyList<T>, IReadOnlyCollection<T>
,但是当我将new int[0]
强制转换为其中任何一个并尝试在其上使用范围时,就会出现编译错误(无法应用索引或无法从索引转换为int)。
是以某种方式硬编码为仅与数组和字符串一起使用,还是我错过了某些事情?
答案
仅最初支持Count
(或Length
)和Item[int index]
属性的类型可以支持Item[Index index]
和Item[Range range]
。这包括数组,List
,字符串,Span
等
对于那些不支持按索引访问项目的类型,合理的是它们不支持索引和范围。
以上是关于哪个标准范围适用于C#8中的数组和字符串?的主要内容,如果未能解决你的问题,请参考以下文章
scikit-learn joblib 错误:多处理池 self.value 超出“i”格式代码的范围,仅适用于大型 numpy 数组