中年システムエンジニアのオモチャ箱

中年システムエンジニアが初体験のブログ活動。技術情報の備忘録以外も、色々と載せていければと思います。


VB.NET vbCrLf と NewLine 。改行をする時、使うのはどっち!?


【スポンサーリンク】


VB.NET で開発をしている皆さん、文字列を改行したい時、vbCrLf Environment.NewLine のどちらを使いますか? 

どちらも文字列結合することにより、文字列を改行することができます。

 

ソースコード

Dim strTemp1 As String = "中年 SE のブログ。" & vbCrLf & "これからもよろしくです。"
Dim strTemp2 As String = "中年 SE のブログ。" & Environment.NewLine & "これからもよろしくです。"

実行すると、両方とも下記のように同じ結果となります。

 

実行結果

中年 SE のブログ。
これからもよろしくです。

ちなみに、改行する場合、vbCrLf Environment.NewLine 以外にも様々な方法がありますが、今回は vbCrLf Environment.NewLine に絞って記事を書かせてもらいますね。

プログラムでの改行って?

改行って目で見て表示されていませんよね?
しかし、プログラムの解釈としては文字コードというもので制御しています
この改行という文字コードOS 環境によって異なっています

Windows では改行を「キャリッジリターン(CR)」「ラインフィード(LF)」という 2 つの文字コードで制御しています。

しかし、UNIX では「ラインフィード(LF)」という文字コードのみで改行を表します。

 

 
vbCrLf と Environment.NewLine の違いは?
  • vbCrLf
    「キャリッジリターン(CR)」「ラインフィード(LF)」の 2 つの文字コードが定義されています。
  • Environment.NewLine
    実行する OS 環境によって、改行を表す文字コードが選ばれます。
    Windows であれば「キャリッジリターン(CR)」「ラインフィード(LF)」
    UNIX であれば「ラインフィード(LF)」

 

いかがでしょうか?

改行とはどういうものか、また、vbCrLfEnvironment.NewLine の違いについて、わかってもらえれば嬉しいです。

 

 Note 

Windows で動作するプログラムであれば、vbCrLfEnvironment.NewLine のどちらを使っても問題ありません。

OS 環境に依存する場合であれば、Environment.NewLine を使いましょう。

ただし、開発チームの方向性で決定し、ゴチャ混ぜで使用するのはヤメましょうね!

ちなみに、中年 SE はどっちかというと、5,6 年前までは vbCrLf を使っていましたが、ここ 2,3 年は Environment.NewLine を使用しています。


Visual Basicの絵本 Windowsプログラミングわかる9つの扉