VB.NET中的行尾标识符?

Pet*_*sen 20 .net vb.net

我应该使用什么行尾标识符(例如,输出到文本文件)?

有很多选择:

  • vbCrLf
  • vbNewLine(显然是vbCrLf的别名)
  • ControlChars.CrLf
  • ControlChars.NewLine
  • Environment.NewLine
  • 应用程序中某个C#类中的静态成员(需要混合语言解决方案):public static string LINEEND ="\ r \n";
  • Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)(由Visual Studio设计器生成,至少是Visual Basic 2005 Express Edition,用于在编辑属性Text时使用+ 时将属性Multiline设置为True 的TextBox .)ShiftReturn

什么是最佳做法?

Nol*_*rin 26

我认为将其Environment.NewLine用作新行标识符通常是最有意义的,原因如下:

  • 它是一个依赖环境的只读变量.如果你碰巧在Linux上运行你的程序(例如),那么价值就是\n.
  • vbCrLf是VB6和早期语言的遗留常量.而且,它不依赖于环境.
  • \r\n有同样的问题,不依赖于环境,也不能很好地在VB.NET中完成(你必须分配一个变量Chr(13) & Chr(10)).
  • 控件存在于Microsoft.VisualBasic命名空间中,有效地使其成为传统/向后兼容选项,例如vbCrLf.如果可能,请始终保持遗留代码.


Aam*_*mir 6

Environment.NewLine 仅仅因为它依赖于环境并且在不同的平台上表现不同.