繁体   English   中英

C#语法:“新行”字符是什么字符?

[英]C# grammar: What character is the “new line” character?

我正在实现我自己的Lexer,只是看看C#如何处理字符文字: https ://msdn.microsoft.com/en-us/library/aa691087( v = vs.71).aspx

C#char语法在上面的链接中描述
它指定不允许“新行”字符作为字符文字。
但它没有说明“新行”字符是什么。
从我的角度来看,它可能是以下之一:

  1. CR + LF(窗户)
  2. LF(unix和mac)
  3. CR(mac)
  4. CR || LF || CR + LF(全部)

由于一个文件可以在fe mac上创建然后在windows上编译,我倾向于认为“新行”字符与案例4中的语法相匹配。我记得VS问我是否要将我的行结尾转换为匹配在某些情况下,窗户线结束。 由于我们可以拒绝该选项,因此可以坚持使用文件包含的任何结尾。
有人可以确认案例4或告诉我我错了吗?

事实上,它可以是CR或LF,还有一些,根据规范:

https://msdn.microsoft.com/en-us/library/aa664812(v=vs.71).aspx

new-line-character:
    Carriage return character (U+000D)
    Line feed character (U+000A)
    Line separator character (U+2028)
    Paragraph separator character (U+2029)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM