10
votes

Que signifie nouveau [] {A, B} et crée-t-il?

J'ai trouvé ce code

Stream foo() 
{
  ...
  return new MemoryStream(new[] { a, b });
}


5 commentaires

Il crée une instance MemoryStream qui contient deux octets: A et B


Le type du tableau peut être dérivé des arguments à la fois des octets, de sorte que la matrice est un octet [] . Ceci est un Array Tapé implicitement


4 Réponses :



2
votes

La définition de type peut être omise car elle peut être déduite du type des objets de la liste.

Le compilateur C # fait beaucoup de travail analysant le code tel qu'il compile pour vérifier que ce que vous écrivez est valide et exécutera à mesure que vous avez l'intention. Vous pouvez toujours faire des erreurs, mais (espérons-le) moins que dans des langues telles que C ou C ++.


0 commentaires

9
votes

Vous pouvez créer un tableau saisi de type implicitement dans lequel le type de l'instance de tableau est déduit des éléments spécifiés dans l'initialisateur de réseau. Les règles relatives à toute variable saisie implicite s'appliquent également aux tableaux saisis implicitement.

pris de https://msdn.microsoft.com/en-us/ Bibliothèque / BB384090.ASPX


0 commentaires

0
votes

avec cela, fondamentalement, vous créez un tableau d'objets implicitement!


0 commentaires