例如,我可能具有字符串"Hello world!"
,并且我想检查从位置6(从0开始)开始的子字符串是否为"world"
-在这种情况下为true。
喜欢的东西"Hello world!".Substring(6).StartsWith("world", StringComparison.Ordinal)
会做,但它涉及到一个堆分配这应该是不需要这样的事情。
(对于我来说,如果从位置6开始的字符串对于比较而言太短,我不希望出现边界错误-我只想返回false。但是,这很容易编写代码,因此也会出现边界错误的解决方案欢迎。)
在Java中,“ regionMatches”可用于实现此效果(带有bounds错误),但是在C#中找不到等效项。
只是为了抢先-显然Contains
并IndexOf
是不好的解决方案,因为他们做不必要的搜索。(您知道有人会发布此信息!)
如果所有其他方法均失败,则可以为此快速编写我自己的函数-主要是我想知道是否有我遗漏的内置函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句