title: What is VB.NET's equivalent of C#'s default keyword?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/7181493/bug-if-you-assign-a-value-to-a-nullable-integer-via-a-ternary-operator-it-can">Bug?? If you assign a value to a nullable integer via a ternary operator, it can&#39;t become null</a>  </p>
  </blockquote>
  
  
  
  <p>While this question may seem like a duplicate of many, it is actually being asked for a specific reason.  Take this code, for example:</p>
  
  <pre><code>Dim n As Integer? = If(True, Nothing, 1)
  </code></pre>
  
  <p>In that code, the ternary expression <em>should</em> be returning Nothing, but it's setting n to 0.  If this were C#, I could say <code>default(int?)</code> and it would work perfectly.  Now it looks like I am going to have to ditch the ternary and use a regular If block, but I really want to use the ternary.</p>
  
  <p>If Nothing were truly VB.NET's equivalent to C#'s default, how can you explain this behavior?</p>