Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#除方法外的词典列表速度较慢_C#_List_Dictionary - Fatal编程技术网

c#除方法外的词典列表速度较慢

c#除方法外的词典列表速度较慢,c#,list,dictionary,C#,List,Dictionary,我正在使用。Except方法来获得两个词典列表之间的差异 我的字典有22个键值对 List<Dictionary<string, string>> uatCSVFile List<Dictionary<string, string>> prodCSVFile uatCSVFile.Except(prodCSVFile, new DictComparer()) 列出uatCSVFile 列表prodCSVFile uatCSVFile.Exce

我正在使用
。Except
方法来获得两个
词典列表之间的差异

我的字典有22个键值对

List<Dictionary<string, string>> uatCSVFile

List<Dictionary<string, string>> prodCSVFile

uatCSVFile.Except(prodCSVFile, new DictComparer())
列出uatCSVFile
列表prodCSVFile
uatCSVFile.Except(prodCSVFile,new DictComparer())
我得到了确切的区别。它可以很好地用于小文件,但在使用6mb文件进行测试时,需要4-5分钟才能工作。 请建议我如何改进性能

口述比较器:

{
    public bool Equals(Dictionary<string, string> x, Dictionary<string, string> y)
    {
        return (x == y) || (x.Count == y.Count && !x.Except(y).Any());
    }

    public int GetHashCode(Dictionary<string, string> x)
    {
        var ret = 123;

        foreach (var keyValue in x)
        {
            ret = ret + (keyValue.GetHashCode() * 31);                

        }
        return ret;      
    }
}
{
公共布尔等于(字典x、字典y)
{
返回(x==y)| |(x.Count==y.Count&&!x.Except(y.Any());
}
公共int GetHashCode(字典x)
{
var-ret=123;
foreach(x中的var键值)
{
ret=ret+(keyValue.GetHashCode()*31);
}
返回ret;
}
}

你是说你有两本字典,你想知道这两本字典的区别吗?那些是uatCsvFile和prodCsvFile字典吗?或者你的意思是你有两个类似的列表,你想知道这两个列表之间的区别吗?是的,我有两个字典列表列表uatCSVFile列表prodCSVFile,我想知道它们之间的区别。除了给我精确的结果外,它非常慢。使用分析器来确定什么是真正慢的。比较是慢的。。使用except方法比较2个文件需要5分钟,文件大小为6mb@user7436928:比较中哪一行代码比较慢?你是说你有两个字典,你想得到这两个字典之间的差异吗?那些是uatCsvFile和prodCsvFile字典吗?或者你的意思是你有两个类似的列表,你想知道这两个列表之间的区别吗?是的,我有两个字典列表列表uatCSVFile列表prodCSVFile,我想知道它们之间的区别。除了给我精确的结果外,它非常慢。使用分析器来确定什么是真正慢的。比较是慢的。。使用except方法比较2个文件需要5分钟,文件大小为6mb@user7436928:比较中的哪一行代码比较慢?