Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
611 views
in Technique[技术] by (71.8m points)

.net - End-of-line identifier in VB.NET?

What end-of-line identifier should I use (for example, for output to text files)?

There are many choices:

  • vbCrLf
  • vbNewLine (apparently an alias of vbCrLf)
  • ControlChars.CrLf
  • ControlChars.NewLine
  • Environment.NewLine
  • A static member in some C# class in the application (requires mixed-language solution): public static string LINEEND = " ";
  • Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) (generated by the Visual Studio designer, at least Visual Basic 2005 Express Edition, for a TextBox with property Multiline set to True when Shift + Return is used while editing property Text.)

What is best practice?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I believe it generally makes most sense to use Environment.NewLine as the new-line identifier, for a number of reasons:

  • It is an environment-dependent read-only variable. If you happen to be running your program on Linux (for example), then the value will simply be .
  • vbCrLf is a legacy constant from the VB6 and earlier languages. Also, it's not environment-independent.
  • has the same issue of not being environment-dependent, and also can't be done nicely in VB.NET (you'd have to assign a variable to Chr(13) & Chr(10)).
  • Controls exists in the Microsoft.VisualBasic namespace, effectively making it a legacy/backwards-compatibility option, like vbCrLf. Always stay clear of legacy code if possible.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...