我今天意识到我不知道如何在C#的评论中转义字符。我想记录一个通用的C#类,但我不能写一个正确的例子,因为我不知道如何转义<
和>
字符。我必须使用<
和>
吗?我不喜欢,如果是这样的话,因为我想在实际文档中轻松阅读注释,所以我不必生成某种代码文档以便能够阅读示例代码。
答案 0 :(得分:122)
如果您需要在XML注释中转义字符,则需要使用字符实体,因此需要将<
转义为<
,如您的问题所示。
转义的替代方法是使用CDATA
部分,效果相同。
正如你所指出的,这会产生好看的文档,但读起来却是一个可怕的评论...
答案 1 :(得分:45)
在简单的C#评论中,您可以使用任何字符(如果您使用*/
启动评论,则使用/*
除外;如果您使用//
启动评论,则可以使用换行符。)如果您使用的是XML评论,则可以使用CDATA section来包含'&lt;'和'&gt;'字符。
有关C#中XML注释的更多信息,请参阅this MSDN blog article。
例如
/// <summary>
/// Here is how to use the class: <![CDATA[ <test>Data</test> ]]>
/// </summary>
答案 2 :(得分:16)
你说“我希望能够轻松阅读实际文件中的评论”。我同意。
开发人员将大部分时间用于代码,而不是在使用自动生成的文档。这些对于第三方图书馆来说非常棒,比如图表,但不适用于我们使用所有代码的内部开发。我有点震惊的是,MSFT没有提出一个能够更好地支持开发人员的解决方案。我们有动态扩展/折叠代码的区域...为什么我们不能在原始文本和处理过的XML注释之间或原始文本和处理过的HTML注释之间进行就地注释渲染切换?好像我应该在我的方法/类序言注释(红色文本,斜体等)中有一些基本的HTML功能。当然,IDE可以运行一些HTML处理魔术来激活内联注释。
我的黑客解决方案:我改变'&lt;'将“{”和“&gt;”改为“}”。这似乎涵盖了我的典型示例用法样式注释,包括您的具体示例。不完美,但考虑到可读性问题(以及随后出现的IDE注释着色问题)使用'&lt;')
答案 3 :(得分:5)
C#XML注释是用XML编写的,因此您可以使用普通的XML转义。
例如......
<summary>Here is an escaped <token></summary>
答案 4 :(得分:3)
我发现这个问题的一个宜居解决方案只包括两个例子:XML注释中有一个难以阅读的版本,带有转义字符,另一个可读版本使用传统的//
注释。
简单但有效。
答案 5 :(得分:1)
优于使用{...}使用≤...≥(小于或等于符号,大于或等于符号,Unicode中的U2264和U2265)。 看起来像带下划线的尖括号但仍然是尖括号!并且只在代码文件中添加几个字节。
答案 6 :(得分:1)
更好的尝试U2280和U2281 - 只需复制并粘贴List of Unicode characters(数学运算符部分)。