DOBON.NET

文字列の途中で改行する

文字列のある位置で改行するということは、その位置に改行文字列を挿入するということです。

改行文字列は、Environment.NewLineプロパティによって取得できます。NewLineプロパティは実行している環境(OS)に応じた改行文字列を返します。NewLineプロパティはWindowsでは「キャリッジリターン + ラインフィード」を返しますので、VB.NETでは「vbCrLf」(または、ControlChars.CrLf)、C#では「"\r\n"」と同じになります。

補足:VB.NETでは、Environment.NewLineプロパティの代わりに、ControlChars.NewLineフィールドを使うこともできます。

以下に「おはよう。(改行)こんにちは。(改行)さようなら。」という文字列を作成する方法を幾つか示します。

VB.NET
コードを隠すコードを選択
'おはよう。(改行)こんにちは。(改行)さようなら。
'という文字列を作成する
Dim s As String

'Environment.NewLineを使う
s = "おはよう。" & Environment.NewLine & "こんにちは。" & _
    Environment.NewLine & "さようなら。"

'vbCrLfを使う
s = "おはよう。" & vbCrLf & "こんにちは。" & vbCrLf & "さようなら。"

'キャリッジリターンのANSIコードは13、ラインフィードは10なので、
' Chr関数を使って次のようにもできる
s = "おはよう。" & Chr(13) & Chr(10) & "こんにちは。" & _
    Chr(13) & Chr(10) & "さようなら。"
C#
コードを隠すコードを選択
string s;

//Environment.NewLineを使う
s = "おはよう。" + Environment.NewLine + "こんにちは。"
    + Environment.NewLine + "さようなら。";

//"\r\n"を使う
s = "おはよう。\r\nこんにちは。\r\nさようなら。";

//C#では次のような書き方もできる
s = @"おはよう。
こんにちは。
さようなら。";

上の例の「s」の内容はすべて

おはよう。
こんにちは。
さようなら。

になります。

補足:コンソールへの出力や、Label、Buttonコントロールなどでは、ラインフィード(VB.NETでは vbLf または ControlChars.Lf 、C#では '\n' )のみでも改行できます。MessageBox.Showメソッドによるメッセージの表示や、ToolTipコントロールなどでは、ラインフィードのみ、さらにはキャリッジリターン(VB.NETでは vbCr または ControlChars.Cr 、C#では '\r' )のみでも改行できます。

補足:TextBoxコントロールでは「キャリッジリターン + ラインフィード」でしか改行できませんが、RichTextBoxコントロールでは、キャリッジリターンのみ、ラインフィードのみでも改行できます。ただしRichTextBoxのTextプロパティが返す文字列では、改行はラインフィードのみになります。

  • 履歴:
  • 2010/8/28 説明を補充。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。
共有する

この記事への評価

この記事へのコメント

この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。