本帖最后由 zxming2007 于 2011-11-21 21:52:38 编辑

解决方案 »

  1.   

    DOS命令: fc 1.txt 2.txt >> 3.txt
      

  2.   

    可以用每行的checksum比较,应该快些。
      

  3.   

    另外,可参考一下这个连接,使用了plinq:http://www.codethinked.com/net-40-and-our-parallel-future
      

  4.   

    public static int EditDistance(string string1, string string2) 

        var s1Length = string1.Length; 
        var s2Length = string2.Length; 
        var matrix = new int[s1Length + 1, s2Length + 1]; 
      
        for (int i = 0; i <= s1Length; i++) 
            matrix[i, 0] = i; 
        for (int j = 0; j <= s2Length; j++) 
            matrix[0, j] = j; 
      
        for (int i = 1; i <= s1Length; i++) 
        { 
            for (int j = 1; j <= s2Length; j++) 
            { 
                int cost = (string2[j - 1] == string1[i - 1]) ? 0 : 1; 
      
                matrix[i, j] = (new[] { matrix[i - 1, j] + 1, 
                                        matrix[i, j - 1] + 1, 
                                        matrix[i - 1, j - 1] + cost}).Min(); 
      
                if ((i > 1) && (j > 1) && 
                   (string1[i - 1] == string2[j - 2]) && 
                   (string1[i - 2] == string2[j - 1])) 
                { 
                    matrix[i, j] = Math.Min( 
                                    matrix[i, j], 
                                    matrix[i - 2, j - 2] + cost); 
                } 
            } 
        } 
        return matrix[s1Length, s2Length]; 
    }如果用这段代码,效率太低下。
      

  5.   

    每一行为一个字符串,直接比较;
    string temp = "2009N 009001 6 1 1 7332814.0000 3591433.0000 10124742.0000";
                string temp1 = "2009N 009001 6 1 1 7332814.0000 3591433.0000 10124742.0000";
                if (!temp.Equals(temp1))
                {
                    //为不同的项;
                }如果文件太大,你可以安行读取;
      

  6.   

    DOS下集成的工具,比较一般人,短时间内写的算法应该强一些吧。