<p>Voici les méthodes actuelles de déclaration et d’initialisation pour un tableau simple.</p>
<pre><code class="lang-auto">string[] array = new string[2]; // creates array of length 2, default values
string[] array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
string[] array = new[] { "A", "B" }; // creates populated array of length 2
string[] array = ["A", "B"]; // creates populated array of length 2
</code></pre>
<p>Notez que d’autres techniques pour obtenir des tableaux existent, comme les extensions Linq <code>ToArray()</code> sur <code>IEnumerable<T></code>.</p>
<p>Notez également que dans les déclarations ci-dessus, les deux premières pourraient remplacer le <code>string[]</code> à gauche par <code>var</code> (C# 3+), car l’information à droite est suffisante pour inférer le type correct. La troisième ligne doit être écrite telle que montrée, car la syntaxe d’initialisation de tableau seule n’est pas suffisante pour satisfaire les exigences du compilateur. La quatrième pourrait également utiliser l’inférence. La cinquième ligne a été introduite dans C# 12 en tant qu’expressions de collection où le type cible ne peut pas être inféré. Elle peut également être utilisée pour les spans et les listes. Si vous aimez la concision, ce qui précède pourrait s’écrire ainsi</p>
<pre><code class="lang-auto">var array = new string[2]; // creates array of length 2, default values
var array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
var array = new[] { "A", "B" }; // created populated array of length 2
string[] array = ["A", "B"]; // creates populated array of length 2
</code></pre>