我有一個包含很多路徑的列表。我有我要覈對這份清單,看看是否有任何路徑有使用此路徑的具體路徑,即:在C中搜索數組中的字符串的開始#
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;
}
(注意我更新了您的意見) – 2009-02-12 12:45:53