c# - 有没有一种方便的方法可以在 C# 中将字符串的一部分从一个索引获取到另一个索引?
问题描述
有没有办法在 C# 中检索两个索引之间的字符串部分?例如给定这个字符串,
Hello, world!
有没有一种方便的方法可以传递“7”和“11”(“w”和“d”的索引)并获得“世界”?
请注意,我知道该String.Substring()
方法,并且我知道我可以执行以下操作:
string s = "Hello, world!";
s.Substring(7, 11 - 7 + 1); // => "world"
我也意识到创建如下扩展方法是微不足道的:
public static class Extensions {
public static string SubstringByIndexes(this string str, int start, int end) {
return str.Substring(start, end - start + 1);
}
}
但是,在我开始在我正在从事的任何项目中使用这种方法之前,我只是想确保没有内置方法。
解决方案
您可以使用范围,这些是在 C# 8 中添加的。注意后一个索引是 12,而不是 11,以便生成“世界”。
string s = "Hello, world!";
string world = s[7..12];
推荐阅读
- c# - RuntimeBinderException:登录后无法对空引用执行运行时绑定
- c++ - 交叉编译到 Linux 时如何在 Visual Studio 中添加包含目录?
- reactjs - 从firebase获取数据后,useEffect中的SetState导致无限循环
- azure-devops - 如何正确使用负通配符来清除工件中不必要的文件?
- c++ - 如何为 Visual Studio C++ 制作一个简约的程序?
- javascript - ExpressJS 在请求正文不为空时将其显示为空
- python - 文本编辑器中的长度
- ios - React Native 0.64.2 上的新项目不是通过 Xcode 12.5 构建的
- c - libevent中延迟回调的目的是什么?
- wordpress - 通过 SSH/SFTP 上传到我的 Amazon Lightsail Wordpress 站点时,DeployHQ 出现“权限”被拒绝错误