关于生成自定义格式的的字符串

cc_net 2008-04-14 02:55:17
因为做测试要造大量不同的数据,于是自己写了个小工具,在文本中生成大量的数据。之前是写死了的格式,周末就自己改了下,写成了可以自己指定要生成的数据格式。
我没用正则表达市,而是自己定义了一个格式,然后解析格式,按这个格式输出。

比如我格式写成/YMD+ABCD+/V100,要生成1000条记录,那么生成的字符串就是从20080414ABCD0100--20080414ABCD1099的100条数据。/V代表变量,/YMD是日期。
现在就是对于哪个/V可以变量的处理有点问题。

我把解析后字段用字符串数组的传给文件生成的类:str:[20080414][ABCD][100][const][const][var],_count:要生成记录的条数
前3个是值,后3个是类型。然后把这3个字段取出来生成记录。

第一种方法是每生成一条记录时就访问这个数组,从里面把3个字段取出来,这样的话对于哪个可变的字段100,我可以没循环一次加1,这样就可以得到要的结果。但我觉得这样效率比较低。每次都要访问一次,毕竟前面2个是已经确定了的,每次访问都一样。

我是想能把这3个组合成一条语句,放在streamwriter里
[code=C#]
for(int num=0;num<_count;num++)
sw.writrLine("20080414"+"ABCD" + Convert.ToString(int.Parse(str[i-str.Length/2])+num).PadLeft(_count.ToString().Trim().Length ,'0'));

[code]

我想问,我怎么能生成
("20080414"+"ABCD" + Convert.ToString(int.Parse(str[i-str.Length/2])+num).PadLeft(_count.ToString().Trim().Length ,'0'))

这样一条语句,然后传给sw.writrLine,让他执行??
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zccmy22 2008-04-17
  • 打赏
  • 举报
回复
做一个枚举。
cc_net 2008-04-17
  • 打赏
  • 举报
回复
ding
huliang47 2008-04-15
  • 打赏
  • 举报
回复
正则表达式
cc_net 2008-04-15
  • 打赏
  • 举报
回复
顶啊啊
yilanwuyu123 2008-04-14
  • 打赏
  • 举报
回复
UP一下 正则表达式楼主搜点资料看看
cc_net 2008-04-14
  • 打赏
  • 举报
回复
上面的问题怎么解决啊?
如果用正则表达试要怎么做?按正则表达市生成字符串?
cc_net 2008-04-14
  • 打赏
  • 举报
回复
没人理我。。。。。。

110,580

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧