.NET TIPS OS環境ごとの改行文字列(\r\n|\n)を取得するには?[C#、VB]デジタルアドバンテージ 一色 政彦2010/04/08 |
![]() |
|
WindowsやUNIXなどの各OS環境では、それぞれ改行コード(=改行を表す制御文字)が異なる。例えばWindowsでは「CR(=キャリッジ・リターン)+LF(=ライン・フィールド)」であるのに対し、UNIXでは「LF」のみである。このCRとLFは、C#やViaual Basic(VB)では、下記のように表記できる(ControlCharsは、Microsoft.VisualBasic名前空間に所属するクラス)。
- CR:「\r」(C#、エスケープ文字)、「vbCr」もしくは「ControlChars.Cr」(VB)
- LF:「\n」(C#、エスケープ文字)、「vbLf」もしくは「ControlChars.Lf」(VB)
- CR+LF:「\r\n」(C#、エスケープ文字)、「vbCrLf」もしくは「ControlChars.CrLf」(VB)
OS環境ごとの違いを意識せずに、改行コードを利用するには、Environmentクラス(System名前空間)の静的プロパティであるNewLine プロパティを利用する。Environment.NewLineプロパティの値は、.NETランタイムによって定義され、OS環境ごとに適切な改行コードを返すことが意図されている。
●Environment.NewLineプロパティのサンプル
次のコードは、Environment.NewLineプロパティを利用するコンソール・アプリケーションのサンプルである。
|
||
Environment.NewLineプロパティを利用してOS環境に沿った改行コードを取得するサンプル・コード(上:C#、下:VB) |
実際には多くないだろうが、.NETアプリケーションをLinux上で動かすなど、ポータビリティを考えている場合には便利である。なお、Linuxで.NETを動かすには、Monoなどのサードパーティ製.NETランタイムを使う必要がある。
また、このEnvironment.NewLineプロパティは、インターネット上のソース・コードでもよく登場するので、明確で分かりやすい改行コードの記述方法としてもよく使用されているようだ。そのような使い方をするのもよいだろう。
カテゴリ:クラス・ライブラリ 処理対象:文字列 使用ライブラリ:Environmentクラス(System名前空間) 使用ライブラリ:ControlCharsクラス(Microsoft.VisualBasic名前空間) |
|
![]() |
「.NET TIPS」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |
- - PR -
Insider.NET 記事ランキング
本日
月間
転職/派遣情報を探す
ソリューションFLASH