What's the correct way to not update an out variable
<p>I've implemented a <code>TryParse</code> function for a class <code>MinMax</code> like this:</p>

<pre><code>    public static bool TryParse(string s, out MinMax result)
    {
        var parts = s.Split(' ');
        if (parts.Length != 2)
        {
            return false;
        }
        float min;
        float max;
        if (!float.TryParse(parts[0].Trim(), out min) || !float.TryParse(parts[1].Trim(), out max))
        {
            return false;
        }
        result = new MinMax(min, max);
        return true;
    }
</code></pre>

<p>However this doesn't compile since apparently the out parameter needs to be written. What's the correct way to fix this? I would like to be able to use the function so that if the parsing fails, the parameter passed into it remains unchanged. I guess one way would be to add something like:</p>

<pre><code>result = result;
</code></pre>

<p>but this line issues a warning.</p>
