我试图从我在程序中使用的字符串中获取子字符串,如下所示:
mystring.Substring(mystring.Length - 4)
Run Code Online (Sandbox Code Playgroud)
Visual Studio IntelliSense 建议我使用索引和范围运算符,如下所示:
mystring[^4..]
Run Code Online (Sandbox Code Playgroud)
我浏览了这里的文档,似乎使用 justmystring[^4]就可以正常工作。为什么 IntelliSense 建议使用..其中的额外内容,添加它有什么好处吗?
^4是一个索引,表示单个索引号,恰好距离数组末尾 4 处。这本质上与执行相同mystring[0],只是根据长度动态计算出数字。
^4..是一个range,这意味着(并包括)倒数第四个索引和数组末尾之间的所有内容。
var input = "abcdefghijk";
Console.WriteLine(input[^4]);
Console.WriteLine(input[^4..]);
Run Code Online (Sandbox Code Playgroud)
这打印
H 海吉克