У меня есть список, содержащий много путей. У меня есть определенный путь, который я хочу проверить по этому списку, чтобы увидеть, есть ли какие-либо пути, которые используют этот путь, то есть:
f.StartsWith(r.FILENAME) && f != r.FILENAME
Какой самый быстрый способ сделать это?
редактировать: завершить функцию из ответа ниже:
static bool ContainsFragment(string[] paths, string fragment)
{
// paths **must** be pre-sorted via Array.Sort(paths);
if (paths.Length == 0) return false;
int index = Array.BinarySearch(paths, fragment);
if (index >= 0 && index+1 < paths.Length)
{ //we found it
if (paths[index + 1].StartsWith(fragment) &&
paths[index + 1].EndsWith(".manifest"))
{
return true;
}
}
return false;
}