Return KeyValuePair or use out variable in C#?
<p>I have a function that needs to return two strings. I've considered two different ways to do this:</p>

<pre><code>string first = "this is first";
string second = "this is second";
KeyValuePair&lt;string, string&gt; ReturnPair()
{
    return new KeyValuePair&lt;string, string&gt;(first, second);
}
string ReturnOne(out string other)
{
    other = second;
    return first;
}
</code></pre>

<p>I would like to use the KeyValuePair&lt;> approach but I feel that I am misusing the purpose for which this object was created.</p>

<p>My questions:</p>

<ol>
<li>Is there a better way to return 2 strings in this example? </li>
<li>Is there anything wrong with returning the KeyValuePair?</li>
</ol>
