title: What does {0} stands for in Console.WriteLine?
body: <p>Given the code : </p>
  
  <pre><code>// person.cs
  using System;
  
  // #if false
  
  class Person
  {
      private string myName = "N/A";
      private int myAge = 0;
  
      // Declare a Name property of type string:
      public string Name
      {
          get
          {
              return myName;
          }
          set
          {
              myName = value;
          }
      }
  
      // Declare an Age property of type int:
      public int Age
      {
          get
          {
              return myAge;
          }
          set
          {
              myAge = value;
          }
      }
  
      public override string ToString()
      {
          return "Name = " + Name + ", Age = " + Age;
      }
  
      public static void Main()
      {
          Console.WriteLine("Simple Properties");
  
          // Create a new Person object:
          Person person = new Person();
  
          // Print out the name and the age associated with the person:
          Console.WriteLine("Person details - {0}", person);
  
          // Set some values on the person object:
          person.Name = "Joe";
          person.Age = 99;
          Console.WriteLine("Person details - {0}", person);
  
          // Increment the Age property:
          person.Age += 1;
          Console.WriteLine("Person details - {0}", person);
      }
  }
  
  // #endif
  </code></pre>
  
  <p>The output of the code is : </p>
  
  <pre><code>Simple Properties
  Person details - Name = N/A, Age = 0
  Person details - Name = Joe, Age = 99
  Person details - Name = Joe, Age = 100
  </code></pre>
  
  <p>What does the <code>{0}</code> in <code>Console.WriteLine("Person details - {0}", person);</code> stands for ? 
  How come it's replaced by <code>Name.....</code> ? </p>
  
  <p>When I put <code>{1}</code> instead of <code>{0}</code> I get an exception ...</p>