随笔 - 30  文章 - 0 评论 - 161 阅读 - 78333
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

今天一个朋友问我一个程序如何写:题目如下:

请写一个程序找出附件中文件重复的行
输出:
  输出一个文本文件,给出哪些行是重复的,第一次出现的行号,格式如下
  行号    此行的文本内容
  并给出此程序的运行时间

我大概写了一下,代码如下:

static void Main(string[] args)
        {
            TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); //get current ticks.
            StreamReader sr = new StreamReader(@"D:\文本.txt", System.Text.Encoding.Default);         //the path of source file.
            String strline="";
            int number=1;//indicate the line number.
            StringBuilder sb=new StringBuilder();

            Hashtable myHT=new Hashtable ();

            while((strline=sr.ReadLine())!=null)
            {     
                if (myHT.ContainsKey(strline))
                {
                    sb.Append(myHT[strline].ToString() + " " + strline + "\r\n");
                }
                else
                {
                    myHT.Add(strline, number);
                }
                number++;
            }

            sr.Close();
            StreamWriter wr = new StreamWriter(@"D:\1.txt");//the output file.
            wr.Write(sb+"");
            wr.Close();

            TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks); //get current ticks.
            string spanTotalSeconds = ts2.Subtract(ts1).Duration().TotalSeconds.ToString(); //seconds
            Console.WriteLine(spanTotalSeconds);
            Console.ReadKey();
        }

posted on   John.Lau  阅读(834)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示