using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int myInteger;
            string myString;
            myInteger = 17;
            myString = "\"my\rInteger\"is:";
            Console.WriteLine("{0}{1} ",myString ,myInteger);
        }
    }
}结果为Integer"is:17
当用myString = "\"myInteger\"\ris:";时
结果为is:17 eger"
弄不清楚这个\r的回车是怎么工作的,跟平常键盘敲回车好象不太一样.

解决方案 »

  1.   

    平常键盘敲回车是\r\n   
    \r的意思是返回至一行的第一列
    \n的意思是跳至下一行所以\r\n就是咱们经常遇见的回车换行只使用\r,当然前面的字符就被后面的字符冲掉了
      

  2.   

    按"前面的字符就被后面的字符冲掉了"的理解
    那么当用myString = "\"myInteger\"\ris:";时
    结果应该为is:17 但为什么又会变成is:17 eger"?
    后面的eger"?又是怎么一回事呢?
      

  3.   

    应该是:
    "myInteger"
    is:17 不知道你的结果是怎么出来的。
      

  4.   

    没错阿如果没有\r,应该是 -- "myInteger"is:17 (7后面还有个空格)加了\r,则把is:17 跳至了行头部,覆盖了前面的字符,于是就成了 -- is:17 teger
      

  5.   

    知道了,我用的是windows app 测试的。
    使用console app 就是dzmonkey说的那样了。
      

  6.   

    \r只是将光标定位到行的起始位置,如果没有\n就是定位到本行的开始位置 ...\r\n才是真正意义上的回车换行..