a29343539 2019-06-20 02:21 采纳率: 80%
浏览 388
已采纳

请问C#中,我有72246452条数据的TXT,我应该要如何去除重复值,并显示有哪些重复呢?

请问C#中,我有72246452条数据的TXT,我应该要如何去除重复值,并显示有哪些重复呢?
我用一般的方法会显示内存错误讯息,怕误入歧途,因此想先问好的方法,谢谢

  • 写回答

6条回答

  • a29343539 2019-06-20 20:59
    关注

    這是我最後的寫法,正常讀取7000萬筆數據,3分鐘以內可以跑完,沒有回報任何錯誤。

    List List陣列 = new List ();
    int 要跑讀取的第1行 = 0;
    int 要跑到讀取的最大值 = 72246500;
    var lines = File.ReadLines(@"自動化瀏覽器BUG檢視.txt", System.Text.Encoding.UTF8).Skip(要跑讀取的第1行).Take(要跑到讀取的最大值);
    //var lines = File.ReadLines(@"TEST.txt", System.Text.Encoding.UTF8).Skip(要跑讀取的第1行).Take(要跑到讀取的最大值);
    var iter = lines.GetEnumerator();
    while (iter.MoveNext())
    {
    List陣列.Add(iter.Current);
    }
    Console.WriteLine(List陣列.ToList().Count());
    HashSet hs = new HashSet(List陣列);
    //hs.ToList().ForEach(item => Console.WriteLine(item));
    Console.WriteLine(hs.ToList().Count());

                        另外也需要把開發平台改成x64位元才不會有內存溢出
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致
  • ¥15 禅道二次开发编辑版本,上传不了发行包