1

両者に違いがあるかどうか知りたいです。説明をいただければ幸いです..

4

2 に答える 2

2

WriteLine()

デフォルトの行終端文字は、キャリッジ リターンとそれに続くライン フィード (C# では "\r\n"、Visual Basic では vbCrLf) を値とする文字列です。

Environment.改行

Unix 以外のプラットフォームの場合は "\r\n" を含む文字列、Unix プラットフォームの場合は "\n" を含む文字列。

于 2012-07-20T06:48:13.130 に答える
1

結果は同じですが、コードが異なります。

    protected char[] CoreNewLine = new char[2]
    {
      '\r',
      '\n'
    };    
    public virtual void WriteLine(string value)
        {
          if (value == null)
          {
            this.WriteLine();
          }
          else
          {
            int length1 = value.Length;
            int length2 = this.CoreNewLine.Length;
            char[] chArray = new char[length1 + length2];
            value.CopyTo(0, chArray, 0, length1);
            if (length2 == 2)
            {
              chArray[length1] = this.CoreNewLine[0];
              chArray[length1 + 1] = this.CoreNewLine[1];
            }
            else if (length2 == 1)
              chArray[length1] = this.CoreNewLine[0];
            else
              Buffer.InternalBlockCopy((Array) this.CoreNewLine, 0, (Array) chArray, length1 * 2, length2 * 2);
            this.Write(chArray, 0, length1 + length2);
          }
        }
于 2012-07-20T06:48:13.453 に答える