说说C# 8.0 新增功能Index和Range的^0是什么?

  在这篇中有人提出^0是什么意思?处于好奇就去试了,结果抛出异常。查看官方文档说^0索引与 sequence[sequence.Length] 相同,表达式 sequence[^0] 不会引发异常,就像 sequence[sequence.Length] 一样。但是在实际使用[^0]的时候抛出IndexOutOfRangeException的异常,很疑惑究竟是什么原因?

  先说一下 C# 8.0 新增的两个新类型和两个新运算符,允许构造System.Index和System.Range对象,并在运行时索引/切片集合。

一、System.Index和System.Range结构

1、Index

  表示一种可用于从开头或从结尾索引集合的类型。

public struct Index : IEquatable<Index>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjpzw.html