替String和List各写了一个拓展方法:FindIndexes,望大神们从性能上优化
为String和List<T>各写了一个拓展方法:FindIndexes,望大神们从性能上优化
其中字符串的那个怎么把T约束成String和char,不能约束?目测这两个方法就比较慢,求大神优化。
其中字符串的那个怎么把T约束成String和char,不能约束?目测这两个方法就比较慢,求大神优化。
public static class ExtendHelper
{
/// <summary>
/// Find some indexes of subString in a long string
/// </summary>
/// <param name="_input"></paramc
/// <param name="_lookfor"></param>
/// <param name="start"></param>
/// <returns></returns>
public static int[] FindIndexes(this String _input, String _lookfor, int start = 0)
{
List<int> result = new List<int>();
int Start = start < 0 ? 0 : start;
int current = _input.IndexOf(_lookfor, Start);
while (!current.Equals(-1))
{
result.Add(current);
current = _input.IndexOf(_lookfor, current + 1);
}
return result.ToArray();
}
//public static int[] FindIndexes(this String _input, char _lookfor, int start = 0)
//{
// List<int> result = new List<int>();
// int Start = start < 0 ? 0 : start;
// int current = _input.IndexOf(_lookfor, Start);