LoginSignup
0
0

More than 5 years have passed since last update.

Visual Studio / WPF > System.Environment.NewLineとsting.Format()を使って複数改行の文字列を用意する > "\r\n"の代わりにSystem.Environment.NewLineを使う意味は.NET 4.6.1以降はなさそう

Last updated at Posted at 2017-06-12
動作環境
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community

複数改行がある確認ダイアログを用意しようとしていた。

            string msg = "";
            //パターン1
            msg += "Is it OK?" + System.Environment.NewLine;
            msg += "Away team" + System.Environment.NewLine;
            msg += "1. Janeway" + System.Environment.NewLine;
            msg += "2. Tuvok" + System.Environment.NewLine;
            msg += "3. Chakotay";

IntelliSenseにより入力は楽だが、将来ソースを見た時に「この長ったらしいのは何だ」と思いそう。

以下のようにした。

        private void uxConfirm_Click(object sender, RoutedEventArgs e)
        {

            string msg = "";
            //パターン1
            //msg += "Is it OK?" + System.Environment.NewLine;
            //msg += "Away team" + System.Environment.NewLine;
            //msg += "1. Janeway" + System.Environment.NewLine;
            //msg += "2. Tuvok" + System.Environment.NewLine;
            //msg += "3. Chakotay";

            // パターン2
            msg = string.Format("{1}{0}{2}{0}{3}{0}{4}{0}{5}",
                System.Environment.NewLine,
                "Is it OK?", // 1
                "Away team",
                "1. Janeway",
                "2. Tuvok",
                "3. Chakotay"
                );
            MessageBoxResult res = MessageBox.Show(msg, "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Question);
        }

途中に改行を二回入れる場合など簡単に変更できる。

2017-06-12_12h07_22.png

System.Environment.NewLine

https://msdn.microsoft.com/ja-jp/library/system.environment.newline(v=vs.110).aspx
System.Environment.NewLineでなく\r\nで済ますと将来困ることがあるかどうか。

https://stackoverflow.com/questions/1015766/difference-between-n-and-environment-newline
answered Apr 5 '14 at 8:34
aloisdg
によると.NET 4.6.1からはPLATFORM_UNIXの"\n"を返す処理がなくなっている?
http://referencesource.microsoft.com/#mscorlib/system/environment.cs,63a04833d43dd9d3

System.Environment.NewLineを使う意味は.NET 4.6.1以降はなさそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0