Je trouve souvent le terme 'type nommé' en C#. Qu'est-ce que ça veut dire?qu'est-ce que 'type nommé'
Répondre
Type explicitement déclaré avec un nom. Par exemple, toute classe ou structure que vous déclarez est un type nommé.
Il existe également des types anonymes qui sont déclarés sans nom et le compilateur attribue un nom à ce type qui n'est pas accessible au développeur.
Vous pouvez en savoir plus sur les différents types de types in C#.
Ceci est en référence aux variables explicitement typées, par opposition à celles qui ont un type anonyme. Tout ce qui n'est pas un type anonyme est un type nommé.
Introduit avec (je pense) .Net 3.0, les types anonymes fournissaient un moyen pratique de créer des objets contenant un ensemble de propriétés en lecture seule, sans avoir à définir un type explicitement nommé dans ce but.
Bien que la mise en œuvre des types anonymes nécessite également l'utilisation de type inference (pour la saisie des propriétés de l'objet), types anonymes ne sont pas à confondre avecImplicitly Typed Local Variables dans lequel le var mot-clé libère le programmeur d'indiquer explicitement un type de variable, mais où un type est effectivement fourni par le compilateur. (La plupart des variables typées implicitement ne sont pas des types anonymes et sont donc un type nommé, c'est juste le compilateur qui fait le nommage).
Tout type qui n'est pas un Annonymous Type serait un "type nommé".
Selon votre définition, array-of-entiers à deux dimensions est un type nommé. Est-ce que cela a du sens? Si oui, quel est son nom? –
@Eric Merci d'avoir lu cette question.S'il vous plaît jeter plus de lumière sur cette discussion si vous sentez qu'il ya quelque chose qui manque ou mal compris. – csharpbaby
Un type nommé est un type explicitement défini (struct, classe, etc.) que vous créez et donnez un nom.
.: par exemple
public class Foo
{
public string Bar{ get; set; }
}
Dans ce cas, Foo est un type nommé.
Ceci est par opposition à un type anonyme, qui est généralement créé à la volée:
var MyFoo = new { Bar = "some text" };
Je viens de créer un nouvel objet, appelé MyFoo. Nous ne lui avons pas donné explicitement un nom de type, mais nous lui avons implicitement donné une propriété String, Bar, avec la valeur "some text".
du commentaire de MJV ci-dessus, 'Var MyFoo' signifie implicitement typé variable. Comment est ce type anonyme comme vous l'avez mentionné? Merci – csharpbaby
- 1. Est-il mauvais que les expressions lambda de C++ 0x n'aient pas de type nommé?
- 2. Appelant Modèle Nommé
- 3. nommé arguments facultatifs PHP?
- 4. Python: Aucun module nommé core.exceptions
- 5. question de tuyau nommé bidirectionnel
- 6. Paramètre de requête nommé Hibernate
- 7. Décalage de plage nommé VBA
- 8. Django nommé urls, vues génériques?
- 9. "Impossible de trouver un point d'entrée nommé [fonction] dans dll" (conversion de type C++ à C#)
- 10. NHibernate Fluent et nommé Requêtes
- 11. Qu'est-ce que le type <Type> appelé?
- 12. Impossible d'ajouter un fichier nommé "VERSION" à CVS au même niveau d'un répertoire nommé "version"
- 13. Initialisation d'objet et "idiome de constructeur nommé"
- 14. ImportError: aucun module nommé copy_reg pickle
- 15. problème tutoriel django: aucun module nommé pysqlite2
- 16. Problème de groupe nommé Regex C#
- 17. Hibernate HQL Query: Comment définir une collection en tant que paramètre nommé d'une requête?
- 18. plusieurs instances d'argument nommé dans la liste
- 19. django: ImportError Aucun module nommé myapp.views.hometest
- 20. Langage de programmation nommé "C Set 2"
- 21. Qu'est-ce que la sécurité de type?
- 22. SharePoint Définition du site Fichiers - Page est toujours nommé « Home »
- 23. Excel nommé gamme de résolution à sa cible réelle
- 24. modules Copie dans Django, « Aucun module nommé [moduleName] »
- 25. Nombre de clients pouvant se connecter à un canal nommé
- 26. Comment installer le paquet MySQLdb? (ImportError: aucun module nommé setuptools)
- 27. C# 3.5 - Connecter un canal nommé à travers le réseau
- 28. Pour supprimer un fichier difficile nommé par rm Git
- 29. "erreur: 'struct udphdr' n'a pas de membre nommé 'source'" ... hein?
- 30. Importation d'un module python .net - « Aucun module le signal nommé »
Ceci est faux. L'inférence de type et les types anonymes ne sont pas liés. L'inférence de type peut être utilisée dans certains cas pour exclure des paramètres génériques ou avec le mot-clé var. Les types anonymes sont des types sans nom créés à la volée. – recursive
@recursive Merci! Je lis à ce sujet et je me rends compte où je me suis trompé. L'inférence de type est souvent utilisée dans le cas des types anonymes, mais les deux concepts sont en effet complètement séparés. Je vais corriger ma réponse en conséquence (ou la tuer complètement ...) – mjv
Cool. Downvote supprimé. – recursive