- ベストアンサー
C#の改行について
テキストボックスでmultilineをtrueにした場合 改行が¥nでは出来ずに Environment.NewLineを使わなければ改行できませんでした。 何故だか教えていただきたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
改行コードは環境依存なので Environment.NewLineを使う事はむしろ正しいと思います。 では何故"\r\n"が駄目かですが私の環境では問題ないのでわかりません。 OSはWindowsXpでしょうか? "\r\n"で改行できないマシンで string test = Environment.NewLine; char[] chArray = test.ToCharArray(); としchArrayにどういう文字コードが入っているのか 調べてみれば原因がわかると思います。
その他の回答 (4)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★回答者 No.3 です。 ・改行について補足します。 Windows系は『\r\n』 Unix系は『\n』 Mac OSは『\r』 がそれぞれ改行コードになります。 ・『\n』、『\r\n』で上手く改行できない=Mac OS ですか? もしも、Mac OS ならば『\r』のキャリッジ・リターンのコードが改行になります。 ・以上。おわり。→ちなみに OS は何でしたか?
お礼
ちなみにWindowsXpでした。 ありがとうございました。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★アドバイス ・一般に 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→『改行コードなどの定数を使用する』 ・以上。今後の参考に!
お礼
回答ありがとうございました。 \r\nも試したんですがダメだったんですよね。 ネットでも結構探したんでこちらのURLも見てました^^ 今までコード書いてる際\nでも使えてたので テキストボックス内だけが何故か使えなかったので疑問に思いました。 難しいですね。。。
- sha-girl
- ベストアンサー率52% (430/816)
Windowsですから 「¥n」(lf)ではなく「¥r¥n」(cr+lf)では? C#でtextBox1.Text += "\r\n"; で改行できましたよ。
お礼
回答ありがとうございます。 \r\nでも試したんですがダメだったんですよ。 環境の違いみたいなんですが。。。 すべてに対応しているEnvironment.NewLineで使っていきます。
- nep0707
- ベストアンサー率39% (902/2308)
もともとWindowsの改行コードって\nじゃないですからね。 \r\nでもだめでした?
お礼
ありがとうございます。 \r\nでもダメだったんです。 使う物により無理な場合があるようですね・・
お礼
OSはWindowsXpです。 OSによってできないとの事ですがWindowsなのに出来なかったのは不思議です。。。 ありがとうございました。