dynamic String.Format depending of params
<p>Giving the following examples: </p>

<pre><code>string amountDisplay = presentation.Amount == 1 ? "" : String.Format("{0} x ", presentation.Amount);
</code></pre>

<p>is there anyway to use String.Format so it formats depending on properties without having to do a condition of the 'value' of the parameters ?</p>

<p>another use case:</p>

<pre><code>String.Format("({0}) {1}-{2}", countryCode, areaCode, phonenumber); 
</code></pre>

<p>if I only have phonenumber, I would end up with something like  "() -5555555" which is not desirable. </p>

<p>another use case :</p>

<pre><code>String.Format("my {0} has {1} cat[s]", "Aunt", 3) 
</code></pre>

<p>in this case, I would like to include the s in the [] if the value > 1 for example.</p>

<p>Is there any black 'syntax' of String.Format that removes code parts depending on value of parameters or null ?</p>

<p>Thanks.</p>
