C#简单的消除注释

using System;
using System.IO;
using System.Text ;
using System.Collections.Generic ;
using System.Threading.Tasks;
using System.Linq;
namespace shanchuzhushi
{
	class MainClass
	{
		//边读边写方法.
		static void Read(string lj)
		{
			bool pd = true;
			string str = "";
			string njl = lj.Insert(lj.IndexOf("."), "_copy");
			using (StreamWriter writer = new StreamWriter (njl, false, Encoding.UTF8)) 
			{

				using (StreamReader reader = new StreamReader (lj, Encoding.UTF8)) 
				{
					while ((str = reader.ReadLine ()) != null) 
					{
						if (!string.IsNullOrEmpty (str))
						{ //判断字符串是否为空行;
							if ((str.Trim ()).Length != 0) 
							{
								if (str.IndexOf ("/*") != -1) //判断都找到的第一个"/*"的位置此时关闭读取一直到找到一个最近的"*/"为止
								{
									pd = false;
									continue;

								}
								if (str.IndexOf ("*/") != -1) //当找到一个*/时,此时打开读写把读取到的内容重新写到一个文件夹中.
								{
									pd = true;
									continue;
								}
								if (pd) // 此处是为了在注释时段内部的时候不进行读取
								{
									if (str.IndexOf ("//") != -1 && !str.Contains ('"')) //此时用来判断是否含有注释
									{
										str = str.Substring (0, str.IndexOf ("//"));//此时用来判断去除注释后为空行的代码.
										if (str.Trim ().Length != 0) 
										{
											writer.WriteLine (str);
										} 
                                      
									} else
									{
										writer.WriteLine (str);
									}
								}

							}
						}
					}
				}
			}
		}
        public static void Main (string[] args)
		{
			Console.WriteLine ("请输入你所要修改的路径");
			string lj = Console.ReadLine ();
			Read (lj);
			Console.WriteLine ("修改注释中,请等待");
			Console.WriteLine ("注释修改完成,请退出");
		}
	}
}

  

原文地址:https://www.cnblogs.com/mafeihao/p/9988702.html