Substring 为什么不能直接使用负数索引?
substring 方法不支持负数索引,因为它设计之初仅接受非负的 int 类型参数作为起始位置。要使用负数索引(例如从末尾倒数),必须手动计算对应的正数偏移量,即使用字符串总长度减去负数的绝对值。

如何手动计算负数索引对应的正数位置?
通过获取字符串的 Length 属性并减去所需的负数步长,即可得到正确的起始索引。这种方法适用于任何长度的字符串,确保索引始终在有效范围内。

如果计算出的索引超出范围会发生什么?
当计算出的起始索引大于字符串长度或小于零时,Substring 会抛出 ArgumentOutOfRangeException。这通常发生在负数步长超过字符串实际长度时,需要在使用前进行边界检查。











