我有一个比较两个文件的程序。我运行了visual studio分析,发现我的比较时间很长。比较这两个字符串有更快的方法吗? (我不能使用并行foreach,因为它可能会导致错误。)现在我正在使用并发字典,但我对其他选项持开放态度。 :)
var metapath = new ConcurrentDictionary<string, string>();
foreach(var me in metapath)
{
if (line.StartsWith(me.Key.ToString()))
{...}
}
如果你准确地比较字符串,String.Equals非常好:
String.Equals(line, me.Key)
你见过这个:What is the fastest (built-in) comparison for string-types in C#
目前尚不清楚“比较”究竟是什么意思,但如果你不是指“排序”,即你想要检查剽窃或其他什么,那么首先对行进行散列并比较散列呢?
这取决于您的数据集的大小是否有任何好处。大小都是高度主观的。