我使用了vbLf
,vbCrLf
等常量。 MsgBox 中的vbCr
;它在MsgBox中生成相同的输出(Text" Hai"出现在第一段和一个单词" Welcome"出现在下一段中)
MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")
我知道vbLf
,vbCrLf
& vbCr
用于打印和显示功能。
我想知道vbLf
,vbCrLf
& vbCr
常数。
答案 0 :(得分:49)
Constant Value Description
----------------------------------------------------------------
vbCr Chr(13) Carriage return
vbCrLf Chr(13) & Chr(10) Carriage return–linefeed combination
vbLf Chr(10) Line feed
vbCr : - 返回行首
表示打印和显示功能的回车符字符。
vbCrLf : - 类似于按Enter键
表示回车符字符与换行符的组合,用于打印和显示
功能
vbLf : - 转到下一行
表示用于打印和显示功能的换行符。
答案 1 :(得分:29)
这三个常数现在具有相似的功能,但历史起源不同,偶尔也可能需要使用其中一个。
你需要回想一下旧手动打字机的日子来获得它的起源。启动新的文本行需要两个不同的操作:
在计算机中,这两个动作由两个不同的字符表示 - 回车符为CR
,ASCII字符为13,vbCr
;换行符为LF
,ASCII字符为10,vbLf
。在远程打印和行式打印机的过去,打印机需要发送这两个字符 - 传统上按照CRLF
的顺序 - 开始一个新行,所以CRLF
组合 - { {1}} - 在某些计算环境中成为传统的行结束序列。
当然,问题在于,只使用一个字符来标记行结尾,并让终端或打印机自动执行回车和换行操作。所以在你知道它之前,我们有3个不同的有效行结尾:vbCrLf
单独(在Unix和Macintoshes中使用),LF
单独(显然在较旧的Mac OS中使用)和CR
组合(在DOS中使用,因此在Windows中使用)。这反过来导致了DOS / Windows程序的复杂性,可以选择在CRLF
中打开文件,其中从文件中读取的任何text mode
对转换为单CRLF
(和副)写作时也是如此。
所以 - 缩短(太长篇)长篇故事 - 有三个独立行分隔符存在的历史原因,现在这些分隔符通常无关紧要:也许.NET中最好的行动方式是使用{ {1}}这意味着其他人已经决定使用哪个,并且应该减少未来的可移植性问题。