读取一个txt文件里面内容是sql语句,文件内有N行语句,while循环读取,每次读取的sql语句用一变量拼接, 我打算每循环50次后将拼接的sql做处理,这个算法语句请问怎么写比较好?谢谢!

解决方案 »

  1.   

    如果是我可能放到list<string>里面吧。50个就处理一下。
      

  2.   

    用StringBuild.AppendLine进行拼接 不要直接用string拼接,效率低
      

  3.   

    每读取一行就计数,到50开始处理,并计数置为0,用2楼的List更方便管理
      

  4.   

            private static void Readfile(string filename)
            {            FileStream fs = new FileStream(filename, FileMode.Open);
                StreamReader sr = new StreamReader(fs, Encoding.UTF8);
                IList<string> lis = new List<string>();
                int icount = 0, istep = 0;
                while (sr.Read() > 0)
                {
                    icount++;
                    lis.Add(sr.ReadLine());
                    if (icount % 50 == 0)
                    {
                        for (int i = istep; i < icount; i++)
                        {
                            Console.WriteLine(lis[i].ToString());
                        }
                        istep = icount;
                    }
                }
                        }
      

  5.   

    算法 ?没啥算法吧
    你这个for循环少不了的
    存到stringbuilder下面吧,append进去比list快
      

  6.   

    stringbuilder不好弄,因为他涉及到单行,不好拆字符串。上面还是不够完美,这里没时间搞了,那就是最后的行数如果和50mod不了,就被舍去了,算法再好有是有有可能用不上,没最好有较好。
      

  7.   

    就for一下么。<50作为判定,while读完放在最外面。还算什么法呀。