C#の改行について

テキストボックスでmultilineをtrueにした場合
改行が¥nでは出来ずに
Environment.NewLineを使わなければ改行できませんでした。
何故だか教えていただきたいです。

投稿日時 - 2007-05-23 15:42:15

QNo.3023957

すぐに回答ほしいです

質問者が選んだベストアンサー

改行コードは環境依存なので
Environment.NewLineを使う事はむしろ正しいと思います。

では何故"\r\n"が駄目かですが私の環境では問題ないのでわかりません。
OSはWindowsXpでしょうか?

"\r\n"で改行できないマシンで
string test = Environment.NewLine;
char[] chArray = test.ToCharArray();
としchArrayにどういう文字コードが入っているのか
調べてみれば原因がわかると思います。

投稿日時 - 2007-05-25 19:29:31

お礼

OSはWindowsXpです。

OSによってできないとの事ですがWindowsなのに出来なかったのは不思議です。。。
ありがとうございました。

投稿日時 - 2007-06-06 20:01:49

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(4件中 1~4件目)

ANo.5

★回答者 No.3 です。
・改行について補足します。
 Windows系は『\r\n』
 Unix系は『\n』
 Mac OSは『\r』
 がそれぞれ改行コードになります。
・『\n』、『\r\n』で上手く改行できない=Mac OS ですか?
 もしも、Mac OS ならば『\r』のキャリッジ・リターンのコードが改行になります。
・以上。おわり。→ちなみに OS は何でしたか?

投稿日時 - 2007-05-25 19:58:15

お礼

ちなみにWindowsXpでした。

ありがとうございました。

投稿日時 - 2007-06-06 20:03:34

ANo.3

★アドバイス
・一般に Windows OS では \r\n の2文字です。
 下の C# の参考リンクを貼っておきます。
 http://dobon.net/vb/dotnet/string/controlchars.html→『改行、タブ文字などの定数』
 http://dobon.net/vb/dotnet/string/newline.html→『文字列の途中で改行する』
 http://jeanne.wankuma.com/tips/string/constant.html→『改行コードなどの定数を使用する』
・以上。今後の参考に!

参考URL:http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html

投稿日時 - 2007-05-23 20:33:14

お礼

回答ありがとうございました。
\r\nも試したんですがダメだったんですよね。
ネットでも結構探したんでこちらのURLも見てました^^

今までコード書いてる際\nでも使えてたので
テキストボックス内だけが何故か使えなかったので疑問に思いました。

難しいですね。。。

投稿日時 - 2007-05-24 21:05:52

ANo.2

Windowsですから
「¥n」(lf)ではなく「¥r¥n」(cr+lf)では?

C#でtextBox1.Text += "\r\n";
で改行できましたよ。

投稿日時 - 2007-05-23 15:51:43

お礼

回答ありがとうございます。
\r\nでも試したんですがダメだったんですよ。

環境の違いみたいなんですが。。。

すべてに対応しているEnvironment.NewLineで使っていきます。

投稿日時 - 2007-05-24 20:59:32

ANo.1

もともとWindowsの改行コードって\nじゃないですからね。

\r\nでもだめでした?

投稿日時 - 2007-05-23 15:49:30

お礼

ありがとうございます。
\r\nでもダメだったんです。
使う物により無理な場合があるようですね・・

投稿日時 - 2007-05-24 20:56:34

あなたにおすすめの質問

[PR] お役立ち情報