如何删除代码中的所有注释?

时间:2011-02-23 13:55:52

标签: c# comments

我是C#的新手,想要开发一个程序,我可以在代码中删除//后的注释。是否有为此目的推荐的简单代码?

2 个答案:

答案 0 :(得分:4)

有人建议您只搜索“//”并修剪。

因为您将自己限制在单行命令中,这似乎是一个相对简单的练习,但是如果您打算将程序的输出作为具有相同行为的有效C#应用程序,则需要考虑一些棘手的情况。到输入程序。

以下是一些只搜索“//”并且修剪不起作用的示例。

评论文字:

string foo = "this is // not a comment";

在评论中发表评论

/* you should not trim // this one */

在评论部分Deux中发表评论

// This is a comment // so don't just remove this!

多行评论邻接

/* you should not *//* trim this these */

当然还有其他边缘案例,但这些都是一些不容小觑的想法。

答案 1 :(得分:2)

首先,这似乎是一个坏主意。评论很有​​用。

将其作为练习,

编辑:这是一个简单的解决方案,在@Bubbafat提及的所有情况下都会失败(可能还有一些)。它对大多数源文件仍然可以正常工作。

  1. 一次阅读一行文字。
  2. 使用//
  3. 找到String.LastIndexOf()最后次出现
  4. 删除(包括)找到的'//'后的文字
  5. 将该行写入输出

    • ad 1:您可以使用System.IO.File.OpenText()打开文本阅读器,如果可以使用Fx4,则可以File.ReadLines()
    • 还使用System.IO.File.WriteText()
    • 打开输出文件
    • ad 3:int pos = line.LastIndexOf("//"); if (pos >= 0) { line = line.Substring(0, pos); }