<p><strong>.NET 4+</strong></p>
<pre><code class="lang-auto">IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
</code></pre>
<p><strong>Détails et solutions pré .Net 4.0</strong></p>
<p><code>IEnumerable<string></code> peut être converti en tableau de chaînes <em>très</em> facilement avec LINQ (.NET 3.5) :</p>
<pre><code class="lang-auto">IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
</code></pre>
<p>Il est assez facile d’écrire la méthode auxiliaire équivalente si vous en avez besoin :</p>
<pre><code class="lang-auto">public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
</code></pre>
<p>Puis appelez-la comme ceci :</p>
<pre><code class="lang-auto">IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
</code></pre>
<p>Vous pouvez ensuite appeler <code>string.Join</code>. Bien sûr, vous n’êtes pas <em>obligé</em> d’utiliser une méthode auxiliaire :</p>
<pre><code class="lang-auto">// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());
</code></pre>
<p>La dernière est un peu lourde quand même <img src="https://forum-microsoft.fr/images/emoji/twitter/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>C’est probablement la manière la plus simple de le faire, et assez performante aussi - il y a d’autres questions sur les performances exactes, y compris (mais sans s’y limiter) <a href="https://stackoverflow.com/questions/219519/whats-the-c-method-syntax-for-converting-an-array-to-a-simple-string">celle-ci</a>.</p>
<p>À partir de .NET 4.0, il y a plus de surcharges disponibles dans <a href="http://msdn.microsoft.com/en-us/library/system.string.join"><code>string.Join</code></a>, donc vous pouvez en fait simplement écrire :</p>
<pre><code class="lang-auto">string joined = string.Join(",", strings);
</code></pre>
<p>Beaucoup plus simple <img src="https://forum-microsoft.fr/images/emoji/twitter/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>