【发布时间】:2021-07-22 15:21:37
【问题描述】:
最近 VS 提示我使用:
var str = "foo";
var str2 = str[^2..];
而不是:
var str = "foo";
var str2 = str.Substring(str.Length - 2);
那么,我的问题是str[^2..] 和str.Substring(str.Length - 2) 之间有什么区别吗?我认为这是一个新的 C# 功能,但我找不到任何关于它的文档。所以,我不知道它是怎么调用的,它是什么版本的C#。
这是我试图用谷歌搜索的内容:
^ in string access c#
我没有得到任何相关结果。我应该谷歌其他东西吗?
【问题讨论】:
-
当与字符串一起使用时,it compiles to
.Substring,所以没有区别:它只是更整洁。对于其他类型,它会编译成不同的东西(通常是Slice方法)。 Introduced in C# 8 -
这种C#的倾向让我害怕。
-
@Rafalon,这绝对有帮助。我应该删除或更新我的问题以对其他人有所帮助吗?
标签: c# string range substring indices