C# 语法:"new line" 字符是什么字符?
C# grammar: What character is the "new line" character?
我正在实现自己的词法分析器,并且刚刚了解了 C# 如何处理字符文字:https://msdn.microsoft.com/en-us/library/aa691087(v=vs.71).aspx
C# char语法在上面的link中描述
它指定 "new line" 字符不允许作为字符文字。
但它没有说明 "new line" 字符是什么。
从我的角度来看,它可能是以下之一:
- CR + LF (windows)
- LF(unix & mac)
- CR (mac)
- 回复 ||低频|| CR + LF(全部)
因为可以在 f.e 上创建一个文件。 mac 然后在 windows 上编译 我倾向于认为 "new line" 字符与情况 4 中的语法匹配。我记得 VS 问我是否要将我的行结尾转换为在某些情况下匹配 windows 行结尾。由于我们可以拒绝该选项,因此可以坚持使用文件包含的任何结尾。
有人可以确认情况 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)
我正在实现自己的词法分析器,并且刚刚了解了 C# 如何处理字符文字:https://msdn.microsoft.com/en-us/library/aa691087(v=vs.71).aspx
C# char语法在上面的link中描述
它指定 "new line" 字符不允许作为字符文字。
但它没有说明 "new line" 字符是什么。
从我的角度来看,它可能是以下之一:
- CR + LF (windows)
- LF(unix & mac)
- CR (mac)
- 回复 ||低频|| CR + LF(全部)
因为可以在 f.e 上创建一个文件。 mac 然后在 windows 上编译 我倾向于认为 "new line" 字符与情况 4 中的语法匹配。我记得 VS 问我是否要将我的行结尾转换为在某些情况下匹配 windows 行结尾。由于我们可以拒绝该选项,因此可以坚持使用文件包含的任何结尾。
有人可以确认情况 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)