class person
    {
        int Age = 25;
        public void sayhello()
         {
            string maessage = "我的年龄是{0}";
            Console.WriteLine(maessage);
            Console.WriteLine(maessage,Age);
            Console.WriteLine("{0}{1}",maessage,Age);        
         }
       static void Main()
        {
            person A = new person();
            A.sayhello();
            Console.ReadKey();
        }    
    }
占位符到底是怎么占位的呢?我只知道Console.WriteLine("{0}{1}",maessage,Age); {0}{1}所占的位置就是后面的紧跟着的变量;但是"我的年龄是{0}";这里的{0}又是怎么占位的呢,我认为它就是maessage的具体内容,

解决方案 »

  1.   

    帮你顶一下.
    它就是maessage的具体内容
      

  2.   

    就是个普通字符,他是通过函数,比如WriteLine来格式化它的
      

  3.   

            int age=5;
            string message = string.Format("我的年龄是{0}", age);        
      

  4.   

    {0}占位符的意思就是一个参数,后面的变量就是参数的值,它从0开始的
    string.Format("我的年龄是{0}", 变量或值);
      

  5.   

    Console.WriteLine("{0}{1}",maessage,Age);和
    Console.WriteLine("我的年龄是{0}",Age);
    的处理方式是一样的,都是调用这个函数public static void WriteLine(String format, params Object[] arg)
    将字符串里的{n}直接替换成后面参数的值,WriteLine里是调用String.Format(...)实现的,感兴趣的话可以看一下.net源码,可以发现实现方式就是直接替换{n}。Console.WriteLine("我的年龄是{0}");
    不带参数的话,调用的是不同的WriteLine重载,public static void WriteLine(Object value) 
    处理方式不一样,这里面调用value.toString(),直接将{0}作为字符串的一部分。
      

  6.   

    占位符只可以存在于方法的第一个参数中,如:
    Console.Write("可存在占位符","占位符参数1",占位符参数2:string.Format("可包含占位符","字符串格式化占位符参数"));够清楚了吧,呵呵
      

  7.   

    如果你想在“占位符参数”中使用占位符,就可以这样:Console.WriteLine("{0}{1}",string.Format(maessage,"参数"),Age);
    maessage参数是存在占位符的,因此可以使用字符串格式化方法