代码之家  ›  专栏  ›  技术社区  ›  Peter Mortensen Pieter Jan Bonestroo

行末标识符在vb.net中?

  •  19
  • Peter Mortensen Pieter Jan Bonestroo  · 技术社区  · 16 年前

    我应该使用哪一个行尾标识符(例如,用于输出到文本文件)?

    有很多选择:

    • 换行字符
    • vbnewline(显然是vbcrlf的别名)
    • 控制字符.crlf
    • 控制字符.换行符
    • 环境.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 ,对于具有属性的文本框 多线 当设置为真时 换档 + 返回 在编辑属性时使用 文本 )

    什么是最佳实践?

    3 回复  |  直到 13 年前
        1
  •  25
  •   Peter Mortensen Pieter Jan Bonestroo    13 年前

    我认为通常使用它最有意义 Environment.NewLine 作为新行标识符,有很多原因:

    • 这是一个 依赖环境 只读变量。如果您碰巧在Linux上运行您的程序(例如),那么值将只是 \n .
    • vbCrLf 是来自vb6和早期语言的遗留常量。而且,它不是环境独立的。
    • \r\n 同样的问题是不依赖环境,而且在vb.net中也不能很好地完成(您必须将变量赋给 Chr(13) & Chr(10) )
    • 控件存在于 Microsoft.VisualBasic 命名空间,有效地使其成为遗留/向后兼容性选项,例如 换行字符 . 如果可能,请始终远离旧代码。
        2
  •  6
  •   Aamir    16 年前

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

        3
  •  2
  •   ccalboni    16 年前

    根据您的编程风格,您可以选择:

    • ControlChars类,如果总是使用vb和代码的其他部分,则使用vb标准(如何声明变量)?作为整数还是作为Int32?integer是vb,int32是每种.NET语言之间的公共语言)。不管怎样,只要你已经和vb结婚了。否则…
    • 通用的环境,语言和环境独立的方式(我的建议)

    我认为最糟糕的是使用可追溯函数,比如vbcrlf(或cint()等等)