Pourquoi la variable de la valeur d'objet
ne peut-elle pas?
List<string>
En C #, essayez d'attribuer List<object>
les objets aux variables peuvent provoquer des erreurs pendant la compilation. Cette opération n'est pas autorisée même si elle est explicitement convertie. Explorons le principe derrière:
Considérez la scène suivante: List<string>
List<object>
à la liste
? Cela créera une incohérence dans la liste<code class="language-csharp">List<string> sl = new List<string>(); List<object> ol; ol = sl; // 产生编译时错误</code>
attend uniquement la chaîne. Lorsque vous traversez la liste , la rencontre de l'instance ol
provoquera l'anomalie de conversion de classe, indiquant qu'elle ne peut pas être convertie en chaîne. Foo
sl
Au contraire, la conversion de en sl
peut être utile. En convertissant d'une classe plus générale () en une classe plus spécifique (sl
), il garantit que l'ajout d'éléments à la liste des chaînes ne violera pas les contraintes de la liste d'objets. Cependant, C # peut ne pas soutenir ce type de conversion. Foo
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!