gpt4 book ai didi

c# - C# 中 Substring 的意外行为

转载 作者:IT王子 更新时间:2023-10-29 04:17:19 26 4
gpt4 key购买 nike

<分区>

.net System.String类中Substring()方法的定义是这样的

public string Substring(int startIndex)

根据方法定义,startIndex“此实例中子字符串的从零开始的起始字符位置”。如果我理解正确,这意味着它会给我一部分字符串,从给定的从零开始的索引开始。

现在,如果我有一个字符串 "ABC" 并采用具有不同索引的子字符串,我会得到以下结果。

var str = "ABC";
var chars = str.ToArray(); //returns 3 char 'A', 'B', 'C' as expected

var sub2 = str.Substring(2); //[1] returns "C" as expected
var sub3 = str.Substring(3); //[2] returns "" ...!!! Why no exception??
var sub4 = str.Substring(4); //[3] throws ArgumentOutOfRangeException as expected

为什么它不为 case [2] 抛出异常?

字符串有3个字符,所以索引是[0, 1, 2],甚至是ToArray(), ToCharArray()方法按预期返回 3 个字符!如果我尝试 Substring() 起始索引 3,它不应该抛出异常吗?

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