ZDSRK 2016-11-21 04:12 采纳率: 66.7%
浏览 1079
已采纳

用C# 生成从00000000-99999999的TXT文本

00000000
00000001
00000002
00000003
00000004
......
99999999
正好一亿行
我用批处理生成速度好慢,请问用C#能快速实现吗?

  • 写回答

5条回答 默认 最新

  • sty_app 2016-11-21 16:02
    关注

    FileStream fs = new FileStream("D:\target.txt", FileMode.Append);
    StreamReader sr = new StreamReader(fs);
    for(int64 i = 1; i < 100000000; i++)
    {
    string str = int64ToStr(i);
    sr.WriteLine(str);
    }
    sr.Close();
    fs.Close();

    public string int64ToStr(int64 intNum)
    {
    string targetStr = string.Empty;
    int bits = CalcIntBit(intNum);
    switch(bits)
    {
    case 1:
    targetStr = "0000000" + intNum.ToString();
    break;
    case 2:
    targetStr = "000000" + intNum.ToString();
    break;
    case 3:
    targetStr = "00000" + intNum.ToString();
    break;
    case 4:
    targetStr = "0000" + intNum.ToString();
    break;
    case 5:
    targetStr = "000" + intNum.ToString();
    break;
    case 6:
    targetStr = "00" + intNum.ToString();
    break;
    case 7:
    targetStr = "0" + intNum.ToString();
    break;
    case 8:
    targetStr = intNum.ToString();
    break;
    default:
    break;
    }
    return targetStr;
    }

    public int CalcIntBit(int64 intNum)
    {
    int64 tmp = intNum/10;
    int bits = 1;
    while(tmp)
    {
    tmp =/ 10;
    Bits++;
    }
    return Bits;
    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料