【发布时间】:2010-10-07 03:47:18
【问题描述】:
我有一个包含很多路径的列表。我有一个特定的路径,我想对照这个列表检查是否有任何路径使用这个路径,即:
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;
}
【问题讨论】:
-
(注意我更新了你的 cmets)