因为做测试要造大量不同的数据,于是自己写了个小工具,在文本中生成大量的数据。之前是写死了的格式,周末就自己改了下,写成了可以自己指定要生成的数据格式。
我没用正则表达市,而是自己定义了一个格式,然后解析格式,按这个格式输出。比如我格式写成/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,让他执行??