title: What's the differences between "{0}" and "&" in VB.NET?
body: <p>Please be easy on me guys as I'm still learning.</p>
  
  <p>The following code:</p>
  
  <pre><code>Imports System.Console
  
  Module Module1
  
      Sub Main()
          Dim num As Integer
          Dim name As String
  
          num = 1
          name = "John"
  
          WriteLine("Hello, {0}", num)
          WriteLine("Hello, {0}", name)
          WriteLine("Hello, {0}", 1)
          WriteLine("Hello, {0}", "John")
          WriteLine("5 + 5 = {0}", 5 + 5)
  
          WriteLine()
      End Sub
  
  End Module
  </code></pre>
  
  <p>has the same output as this code:</p>
  
  <pre><code>Imports System.Console
  
      Module Module1
  
          Sub Main()
              Dim num As Integer
              Dim name As String
  
              num = 1
              name = "John"
  
              WriteLine("Hello, " &amp; num)
              WriteLine("Hello, " &amp; name)
              WriteLine("Hello, " &amp; 1)
              WriteLine("Hello, " &amp; "John")
              WriteLine("5 + 5 = " &amp; 5 + 5)
  
              WriteLine()
          End Sub
  
      End Module
  </code></pre>
  
  <p>Both output:</p>
  
  <blockquote>
    <p>Hello, 1<br>
    Hello, John<br>
    Hello, 1<br>
    Hello, John<br>
    5 + 5 = 10</p>
  </blockquote>
  
  <p>I looked everywhere and couldn't find the answer.<br>
  When to use <em>"{0}, {1}, ... etc"</em>? and when to use <em>"&amp;"</em>?<br>
  Which is better? And why?</p>