title: Impact of using the 'ref' keyword for string parameters in methods in C#?
body: <p>As a programmer who don't have a good idea about the .NET pipeline, I was wondering if using ref strings as parameters are good for performance in C#?</p>
  <p>Let's say I have a method like this:</p>
  <pre class="lang-cs prettyprint-override"><code>public int FindSomething(string text)
  {
      // Finds a char in the text and returns its index
  }
  </code></pre>
  <p>When I use this method, the compiler creates a copy of the text for the method, right?</p>
  <p>But if I use the <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/ref" rel="nofollow noreferrer"><code>ref</code></a> keyword:</p>
  <pre class="lang-cs prettyprint-override"><code>public int FindSomething(ref string text)
  {
      // Finds a char in the text and returns its index
  }
  </code></pre>
  <p>.. the compiler should only send the text's pointer address...</p>
  <p>So is it good for performance using <code>ref</code> like this?</p>