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)」。
いかがでしょうか?
改行とはどういうものか、また、vbCrLf と Environment.NewLine の違いについて、わかってもらえれば嬉しいです。
Windows で動作するプログラムであれば、vbCrLf と Environment.NewLine のどちらを使っても問題ありません。
OS 環境に依存する場合であれば、Environment.NewLine を使いましょう。
ただし、開発チームの方向性で決定し、ゴチャ混ぜで使用するのはヤメましょうね!
ちなみに、中年 SE はどっちかというと、5,6 年前までは vbCrLf を使っていましたが、ここ 2,3 年は Environment.NewLine を使用しています。