.net column
.NET開発者のためのブログメディア

C#の改行コードとは?改行コードの使い方をご紹介!

2020年07月06日
SE
C#の改行コードはどのように行えばよいのでしょうか?
PM
この記事では、OS環境ごとの改行コードや挿入・置換についてご紹介していきます。

C#の改行コードについて


今回は、C#の改行コードについて紹介します。

WindowsやLinuxなどの各OS環境では、改行を表す制御文字である改行コードが異なります。OSの差異を意識しないアプリケーションを作るにはどうすればよいでしょうか。また、C#の改行コードにはどのような違いがあるのでしょうか。

C#の改行コードに興味のある方はぜひご覧ください。

OS環境ごとの改行コード

Windowsの改行コードは「CR(キャリッジ・リターン)+LF(ライン・フィールド)」であるのに対し、Linuxの改行コードは「LF」のみです。
この「CR」と「LF」はC#では以下のように記述します。
・CR:”\r”
・LF:”\n”
・CR+LF:”\r\n”

OSの差異を意識せずに改行コードを利用するには、Environmentクラスの静的プロパティであるNewLineプロパティを利用します。

実際のソースコードを見てみましょう。

Windows環境では、実行結果は以下のようになります。

Windowsの改行コードは「CR+LF」なので、”\r\n”と一致することが分かります。

Linux環境で同じソースコードを実行すると、改行コードは「LF」なので、Environment.NewLineは”\n”となります。

このように、OSの差異を意識せずに改行コードを利用するには、Environmentクラスの静的プロパティであるNewLineプロパティを利用します。

改行コードの挿入

C#で文字列の中に改行コードを挿入するには、以下のようにします。

実際のソースコードを見てみましょう。

Windows環境では、実行結果は以下のようになります。

Environment.NewLine で改行コードを挿入できます。また、”\n”や”\r\n”で改行コードを挿入することもできます。

“@”を使用すれば、ソースコード上で改行すると、そのまま改行コードが挿入されますが、ソースコードが汚くなるでしょう。改行コードではなく”\n”などの文字列を挿入する場合は、”\”を付与してエスケープします。

このようにして、文字列の中に改行コードを挿入します。

改行コードの置換

C#でReplaceを使用することで、改行コードを削除したり、置換したりできます。

実際のソースコードを見てみましょう。

Windows環境では、実行結果は以下のようになります。

Environment.NewLineで挿入した改行コードを、Replaceで置換することで削除できます。”\r”を””に置換し、さらに”\n”, “”に置換することで、どのような改行コードであっても、削除できます。OSの差異を意識せずに改行コードの削除が可能です。

また、Windowsの改行コードをLinuxの改行コードに置換することもできます。このように、Replaceを使用して改行コードを削除したり、置換したりできます。

改行コードの判定

C#でContainsメソッドを使用することで、文字列に改行コードが含まれているか否か判定できます。

実際のソースコードを見てみましょう。

Windows環境では、実行結果は以下のようになります。

Windows環境での改行コードは「CR+LF(“\r\n”)」なので、判定結果はすべてTrueになります。このように、Containsメソッドで、文字列に改行コードが含まれているか否か判定できます。

改行コードで分割

改行コードを含む文字列について、C#でSplitメソッドを使用することで、改行コードで分割できます。

実際のソースコードを見てみましょう。

Windows環境では、実行結果は以下のようになります。

どの改行コードでも分割できるように、Replaceメソッドで”\r\n”を”\n”に置換し、”\n”または”\r”で分割しています。こうすることで、たとえLinuxの文字コードであっても正常分割できます。OSの差異を意識することないソースコードになります。

このように、改行コードを含む文字列について、Splitメソッドを使用して改行コードで分割できます。

SE
改造コードと言っても、色々あるのですね。
PM
OSの環境によってコードが違ってきますが、身に付けておくことでアプリを作ることが出来るようになります。

C#の改行コードを理解しよう

WindowsやLinuxなどの各OS環境では、改行コードが異なります。C#の改行コードの差異を理解すると、OSの差異を意識しないアプリケーションが作れるようになるでしょう。

ぜひご自身でC#のソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags