最近工作上需要读取大量的日志文件来分析问题,并针对一些问题来判断出现的频率,供决策分析使用。
现提供代码前后改进后的效率对比,可以分析出一些值得使用的一些方法。
现贴代码如下:
Code
1 string[] LineFieldsArray = new string[] { };
2 //循环语句最好不要直接while(true){.if(){break;}}
3 while ((strRead = sr.ReadLine()) != null)
4 {
5 if (strRead == string.Empty)
6 {
7 continue;
8 }
9 strFlag = string.Empty;
10 for (int i = 0; i < arrayStrFlag.Length; i++)
11 {
12 //下面这句会提供效率很多,StringComparison的使用。
13 if (strRead.IndexOf(arrayStrFlag[i], StringComparison.OrdinalIgnoreCase) != -1)
14 {
15 strFlag = arrayStrFlag[i];
16 break;
17 }
18 }
19 if (strFlag.Length==0)
20 {
21 continue;
22 }
23 LineFieldsArray = regex.Split(strRead);
24 /** do otherthing here **/
25 }
各位朋友有什么好的建议希望能提出来,大家一起提高。