• ベストアンサー

C#の改行について

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

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

改行コードは環境依存なので Environment.NewLineを使う事はむしろ正しいと思います。 では何故"\r\n"が駄目かですが私の環境では問題ないのでわかりません。 OSはWindowsXpでしょうか? "\r\n"で改行できないマシンで string test = Environment.NewLine; char[] chArray = test.ToCharArray(); としchArrayにどういう文字コードが入っているのか 調べてみれば原因がわかると思います。

himedaisy
質問者

お礼

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

その他の回答 (4)

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.5

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

himedaisy
質問者

お礼

ちなみにWindowsXpでした。 ありがとうございました。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.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
himedaisy
質問者

お礼

回答ありがとうございました。 \r\nも試したんですがダメだったんですよね。 ネットでも結構探したんでこちらのURLも見てました^^ 今までコード書いてる際\nでも使えてたので テキストボックス内だけが何故か使えなかったので疑問に思いました。 難しいですね。。。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

Windowsですから 「¥n」(lf)ではなく「¥r¥n」(cr+lf)では? C#でtextBox1.Text += "\r\n"; で改行できましたよ。

himedaisy
質問者

お礼

回答ありがとうございます。 \r\nでも試したんですがダメだったんですよ。 環境の違いみたいなんですが。。。 すべてに対応しているEnvironment.NewLineで使っていきます。

  • nep0707
  • ベストアンサー率39% (902/2308)
回答No.1

もともとWindowsの改行コードって\nじゃないですからね。 \r\nでもだめでした?

himedaisy
質問者

お礼

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