【发布时间】:2020-10-10 22:59:02
【问题描述】:
我只是想知道是否有一种方法可以将 c# 字符串与第一个字符串的 startIndex 进行比较。我有一个长字符串和一个索引,想知道下一个字符是否等于一个字符串。我发现这样做的唯一方法是:
public static bool Equals (string longString, int index, string compare) => longString.Substring(index, compare.Length) == compare;
我认为这是低效的,因为每次比较索引处的新字符串时都不必要地创建子字符串。有没有更有效的方法?我查看了 string.Equals,但它看起来不像是我愿意尝试重写的东西。
【问题讨论】:
-
Srings 是 indexed,因此您可以在循环中比较这些位置的字符,像访问数组一样访问它们。
-
你不需要循环,看下面我的回答
-
如果
longString = "text containing";index = 5;和compare = "Contain";的预期结果是什么?请注意大写的“C”和(!)“包含”在技术上与“包含”是一个不同的词。 -
示例代码中有错别字。你应该用
compare.Length + index替换compare.Length