自动检测代码的一个小工具...

对了,还可以整个文件夹检测...以下是部分代码

for(int i = 0; i < arrLine.Length; i ++ )//追行遍历
   {
    if(arrLine[i].Trim().StartsWith("///") || arrLine[i].Trim().StartsWith("//") || arrLine[i].Trim().StartsWith("/*")) // 忽略以"///" , "//" , "/*"开头的行
    {
     continue;
    }
    else
    {
     for(int j = 0; j < arrLine[i].Length; j ++ )
     {
      if(iFlags == 0 //在引号外面
        && arrLine[i][j] == '/' && arrLine[i][j + 1] == '/')//同时当前指向/,下一个也是/的情况,就是到注释了...
      {
       break;//跳出该行,开始新一行的检测
      }
      if(arrLine[i][j] == ';' && (arrLine[i][j + 1] == '/' || arrLine[i][j + 1] == '/r'))//遇到“;”,且后面一个是//或者是/r(其实为/r/n,到换行位置)
      {
       break;//跳出该行,开始新一行的检测
      }
      if(arrLine[i][j] == '"' && arrLine[i][j - 1] != '//')//遇到一个引号,同时它的前面一个不是"/"
      {
       iFlags++;//每遇到一个引号,iFlags就加一
      }
      if(arrLine[i][j] == '/'' && arrLine[i][j - 1] != '//')//遇到一个单引号,同时它的前面一个不是"/"
      {
       iFlag++;//每遇到一个单引号,iFlag就加一
      }

      switch(iFlags)
      {
       case 0 ://引号外面
       {
        switch(iFlag)//有单引号的时候...
        {
         case 0 :
          if(IsSignCode(arrLine[i][j])//belongs to ArrSign
           && j < arrLine[i].Length - 1)//and don't reach the last one
          {
//           arrContent[i] = "●" + arrContent[i];
           arrLine[i] = HaveBlankAndChange(arrLine[i], ref j, i + 1);
          }
          break;
         case 1://iFlag是1,在单引号内
          continue;
         case 2 ://第二个单引号
          iFlag = 0;//将iFlag置0
          break;
        }
        break;
       }
       case 1 ://iFlags是1,在引号内
        continue;
       case 2 ://第二个引号
        iFlags = 0;//将iFlags置0
        break;
      }//switch
     }//for
    }//else
   }//for

   lErrCount.Text = iErrorCount + " 个";//显示错误个数

   for(int l = 1; l<=listError.Count;l++)
   {
    lbError.Items.Add("[" + l + "]" + listError[l - 1]);
   }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值