如何水平打印订单?

时间:2012-05-31 15:45:26

标签: c#

我不知道更好的地方要问,如果这不是纯粹的C#问题,我很抱歉。

我需要分析证券交易所订单的刻度数据。每次订单发生更新(添加或删除或移动或执行订单)时,我都需要“检查点”新状态并将其与之前的状态进行比较。到目前为止,我只是将数据打印到文本文件,它看起来像:

5/31/2012 6:06:58 AM:313

3466 1
3464 40
3460 10
3456.9 1
3456 1
3454 1
3448 760
3446 6
3445 3
3444.8 7
3444.5 4
3430.4 6
3420 400
3400 400
3399.9 5
3399.8 2
3396 12
3393.9 1
3390 99
3389.9 14

3387.2 17
3383.7 2
3383.6 2
3376.3 2
3361.1 9
3361 25
3360.8 3
3360.7 3
3360 2
3358 1
3357 3
3356.3 2
3351.1 60
3351 10
3350.6 20
3342.2 3
3342 15
3331.2 180
3331.1 63
3318 3

5/31/2012 6:06:58 AM:359

3466 1
3464 40
3460 10
3456.9 1
3456 1
3454 1
3448 760
3446 6
3445 3
3444.8 7
3444.5 4
3430.4 6
3420 400
3400 400
3399.9 5
3399.8 2
3396 12
3393.9 1
3390 99
3389.9 14

3387.2 17
3383.7 2
3383.6 2
3376.3 2
3361.5 9
3361.4 15
3361.2 9
3361.1 3
3360.8 3
3360.7 3
3360 2
3358 1
3356.3 2
3351.2 11
3351.1 60
3350.6 20
3342.2 3
3342 15
3331.2 180
3331.1 63

但我希望看起来像这样:

6:06:58 AM:313          6:06:58 AM:359

3466    1               3466    1
3464    40              3464    40
3460    10              3460    10
3456.9  1               3456.9  1
3456    1               3456    1
3454    1               3454    1
3448    760             3448    760
3446    6               3446    6
3445    3               3445    3
3444.8  7               3444.8  7
3444.5  4               3444.5  4
3430.4  6               3430.4  6
3420    400             3420    400
3400    400             3400    400
3399.9  5               3399.9  5
3399.8  2               3399.8  2
3396    12              3396    12
3393.9  1               3393.9  1
3390    99              3390    99
3389.9  14              3389.9  14

3387.2  17              3387.2  17
3383.7  2               3383.7  2
3383.6  2               3383.6  2
3376.3  2               3376.3  2
                 added  3361.5  9
                 added  3361.4  15
3361.1  9               3361.2  9       
                 added  3361.1  3
3361    25     deleted
3360.8  3               3360.8  3
3360.7  3               3360.7  3
3360    2               3360    2
3358    1               3358    1
3357    3      deleted
3356.3  2               3356.3  2
                 added  3351.2  11
3351.1  60              3351.1  60
3351    10     deleted
3350.6  20              3350.6  20
3342.2  3               3342.2  3
3342    15              3342    15
3331.2  180             3331.2  180
3331.1  63              3331.1  63
  • 我有多达1000个检查站
  • 我需要将它们全部打印在一行中,以便我可以轻松比较
  • 文本文件包含长度最多为100 000的行会不会有问题?
  • 如何实施我想要实施的内容?
  • 如果你有更好的建议我如何比较很多“快照”,欢迎他们!可能我可以使用不同的东西,而不是文本文件?

1 个答案:

答案 0 :(得分:0)

以下是一些说明将为您概念化的内容:

  1. 遍历文件的每一行
  2. 检查每个条目以查看它是否为日期,如果是,则创建某个数据对象的新实例
  3. 继续解析,直到你到达另一个日期,
  4. 将数据对象保存在数据对象列表中
  5. 重复步骤1到5,直到完成文件
  6. 当您准备打印时,一次从每个数据对象中写入一个,所以先写入所有日期,然后写入数据对象字典中的所有第一项,依此类推,直到完成为止