title: Why can't an out parameter have a default value?
body: <p>Currently when trying to do something in a method that takes an out parameter, I need to assign the value of the out parameter in the method body, e.g.</p>
  
  <pre><code>public static void TryDoSomething(int value, out bool itWorkerd)
  {
      itWorkerd = true;
  
      if (someFavourableCondition)
      {
          // if I didn't assign itWorked variable before this point, 
          // I get an error: "Parameter itWorked must be assigned upon exit.
          return;
      }
  
      // try to do thing
  
      itWorkerd = // success of attempt to do thing
  }
  </code></pre>
  
  <p>I'd like to be able to set a default value of the <code>itWorked</code> parameter so I don't have to arbitrarily set the value in the body of the method.</p>
  
  <pre><code>public static void TryDoSomething(int value, out bool itWorkerd = true)
  {
      if (someFavourableCondition)
      {
          // itWorked was already assigned with a default value
          // so no compile errors.
          return;
      }
  
      // try to do thing
  
      itWorkerd = // success of attempt to do thing
  }
  </code></pre>
  
  <p>Why is it not possible to assign a default value for an <code>out</code> parameter?</p>