codeseek
TOP
サンプル解説
プログラミング考
codeseekBlog
勉強会
リンク
プロフィール
お読みください
掲示板(SPAMのため閉鎖)







累計:
本日
昨日



Microsoft .NET 関連サンプルの解説


2、System.Environment.NewLine プロパティのサンプルの読み方

NewLine プロパティは、稼動している環境での改行コード文字列を返します。

改行コードは環境毎に違うことがあります。


改行コードが環境毎に違うということは、ある環境では正常なプログラムでも、ほかの環境にもっていったとき、正常に動作できなくなることになります。

そこで、文字列を直に指定する代わりに、環境毎に変化するプロパティという形をとることにしているのです。

NewLineプロパティの解説とサンプルは、
MSDN Japan Home >  MSDN Library Japan >  .NET Framework >  リファレンス >  クラス ライブラリ >  System >  Environment クラス >  プロパティ > NewLine
にあります。

サンプルコード本体はNewLineから取得してください。


サンプルの目的:
文字列に挿入したNewLineによって改行する様子を見ることができます。

実行方法:
このサンプルは単独で動作する「コンソールアプリケーション」として作成されています。
VisualStudioを使う場合以下の手順で実行できます。

1,VisualStudioで「コンソールアプリケーション」プロジェクトを新規作成します。
2,Class1.csまたはModule1.csにサンプルコードを貼り付けます。


結果:
Console(コマンドプロンプト)に以下の表示がされます。

NewLine:
first line
second line
third line

VisualStudioで実行すると、一瞬コマンドプロンプトが出て消えてしまいます。
異常ではありません。

このサンプルコードには結果が書かれています。全てのサンプルがこんな感じなら読むのが楽になるのになぁ。



NewLineプロパティサンプルのここを読めっ:
VB
Console.WriteLine("NewLine: {0} first line{0} second line{0} third line", _ Environment.NewLine)

C#
Console.WriteLine("NewLine: {0} first line{0} second line{0} third line", Environment.NewLine);

単純な、文字列が入っているだけの文字列ですから、Environment.NewLineと書くだけでOKです。


NewLineプロパティサンプルではこういうこともわかる:
このサンプルでNewLineプロパティ以外に以下のことのサンプルにもなっています。
1,読み込み専用のプロパティがあること。
2,改行コードは、Windows環境では\r\nであること。
3,Console.WriteLineではString.Format()と同様に複合書式設定機能が使えること。
4,動作可能な短いコンソールアプリケーション。
5,コンソール画面への表示はConsole.WriteLine。

複合書式設定機能は文字列を作成するときに非常に便利です。
複合書式設定機能に「"Name = {0}, hours = {1:hh}", myName, DateTime.Now」という例があります。とってもわかりやすくて、これまでによくつかわれていた書式編集よりもよいものになっていると思ってます。
詳しくは、リンク先の説明を読んでみてください。



考察:
せっかく存在するNewLineプロパティなのですが、私はあまり積極的に使わないと思います。ほかの環境で動作させようとしたときの心配をしはじめたらきりがないと思いますし、どうせ環境を変更するというようなときには、多少の修正とすべての機能のテストは避けられないのです。もちろんはじめから異なる環境でも動作可能にするのを前提にしているようなソフトの場合は話は別ですよ。
私の場合、ほとんどが特定ユーザ向けアプリケーションですので、少しでも処理速度の邪魔になる要因を減らしたいので、直に"\r\n"つけちゃいます。
もしかしたらコンパイルの時点でNewLineが\r\nに置き換わって、実行時には同等の扱いになるのかもしれませんが、そこまではまだ追求していません。

WindowsでNewLineはCR(0d)LF(0a)がつかわれています。