第一次C#作业(未实现多行注释匹配)
下方是核心代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
namespace ReadFlieLineNum
{
public partial class emtNum : Form
{
public emtNum()
{
InitializeComponent();
}
private String af = "";
private void button1_Click(object sender, EventArgs e)
{
int num = 0;//定义行数
int eNum = 0;//定义空行数
int anoNum = 0;//定义注释行
try
{
FileStream aFile = new FileStream("E://CSharp/a.cs", FileMode.Open);
StreamReader brin = new StreamReader(
aFile, System.Text.Encoding.Default);
string s = brin.ReadLine();
while (s != null)
{
if (Regex.IsMatch(s, @"(^\s*$)"))
{
eNum++;
}
if(Regex.IsMatch(s,@"//(.*)"))//单行注释
{anoNum ++;}
s = brin.ReadLine();
num++;
}
aFile.Close();
}
catch { };
try
{
af = File.ReadAllText("E://CSharp/a.cs");
textBox1.Text = af;
}
catch
{
};
}
运行结果: