vbLf,vbCrLf和vbCr常量之间的差异

Law*_*nce 43 vb.net printing constants msgbox

我用像常数vbLf,vbCrLf&vbCrMSGBOX ; 它在MsgBox中生成相同的输出(文本"Hai"出现在第一段中,单词"Welcome"出现在下一段中)

MsgBox("Hai" & vbLf & "Welcome")
MsgBox ("Hai" & vbCrLf & "Welcome")
MsgBox("Hai" & vbCr & "Welcome")
Run Code Online (Sandbox Code Playgroud)

我知道vbLf,vbCrLf&vbCr用于打印和显示功能.

我想知道的区别vbLf,vbCrLfvbCr常量.

Viv*_* S. 57

 Constant   Value               Description
 ----------------------------------------------------------------
 vbCr       Chr(13)             Carriage return
 vbCrLf     Chr(13) & Chr(10)   Carriage return–linefeed combination
 vbLf       Chr(10)             Line feed
Run Code Online (Sandbox Code Playgroud)
  • vbCr: - 返回行开头
    表示打印和显示功能的回车符.

  • vbCrLf: - 类似于按Enter键
    表示回车字符与打印和显示功能的换行符相结合.

  • vbLf: - 转到下一行
    表示打印和显示功能的换行符.


阅读Constants Class中的更多内容

  • `vbNewLine` 仅仅是 CRLF 的别名,还是模糊的、过时的_平台相关换行符_? (6认同)
  • +1最简单的CRLF概念解释:类似于按Enter键。 (3认同)

AAT*_*AAT 34

这三个常数现在具有相似的功能,但历史起源不同,偶尔也可能需要使用其中一个.

你需要回想一下旧手动打字机的日子来获得它的起源.启动新的文本行需要两个不同的操作:

  1. 将打字头移回左侧.在打字机的实践中,这是通过将带有纸张的卷筒("托架")一直向右移动来完成的 - 打字头是固定的.这是一个回车.
  2. 将纸张向上移动一行的宽度.这是一个换行.

在计算机中,这两个动作由两个不同的字符表示 - 回车符是CRASCII字符13 , vbCr; 换行符是LFASCII字符10 , vbLf. 在远程打印和行式打印机的过去,打印机需要发送这两个字符 - 传统上按顺序CRLF- 开始一个新的行,所以CRLF组合vbCrLf- 成为传统的行结束序列,在一些计算环境.

当然,问题在于,只使用一个字符来标记行结尾,并让终端或打印机自动执行回车和换行操作.所以在你知道之前,我们有3个不同的有效行结尾:LF单独(在Unix和Macintoshes中使用),CR单独(显然在较旧的Mac OS中使用)和CRLF组合(在DOS中使用,因此在Windows中).这反过来导致DOS/Windows程序的复杂性,可以选择打开文件text mode,其中CRLF从文件读取的任何对被转换为单个CR(反之亦然).

所以 - 缩短一个(太长篇)长篇故事 - 存在三个独立行分隔符的历史原因,这些分隔符现在通常是无关紧要的:也许.NET中最好的行动方式是使用Environment.NewLine这意味着其他人已经决定使用哪个,并且应该减少未来的可移植性问题.

  • 这也带来了另一个历史差异.退格VS删除.在电脑上.计算机上的退格键将光标向后移动一个位置并删除前一个字符.这与传统角色不同,传统角色是移回一个空间而不是删除,但是过度类型. (5认同)
  • 从那时起的一个补充...从过去开始......通常使用它自己的回车,这样你就可以超过你已经打印过的文本.这通常用于添加突出显示或其他标记,例如----字符被改写以表示划掉的单词.当可变字体"Ball"打字机出来时,你甚至可以改变句子中特定单词的字体. (4认同)