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

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

【スポンサーリンク】


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 を使用しています。