Qu'est-ce que TKey et TValue dans un dictionnaire générique?
Les noms TKey et TValue dans un dictionnaire sont source de confusion pour moi. Sont-ils nommés, avec cette convention, pour une raison ou pourraient-ils l'ont nommé quelque chose?
c'est à dire si je créer un générique, dois-je utiliser une sorte de convention de nommage aussi?
OriginalL'auteur Blankman | 2009-07-08
Vous devez vous connecter pour publier un commentaire.
Il est convention à utiliser
T
pour les types génériques (comparables à des "modèles" en C++, etc).Si il y a un seul type (
List<T>
) puis justeT
est très bien (il n'y a rien de plus à expliquer); mais s'il y a plusieurs types génériques, laT
préfixes la fin. DoncTKey
est le type générique de la "clé", etTValue
de la valeur. Si l'aide dans ce cas, si vous savez qu'un dictionnaire des cartes clés à des valeurs!L'intellisense en général, vous dites ce que chaque type d'argument moyens; par exemple avec
Func<T1,T2,TResult>
:T1
: Le type du premier paramètre de la méthode encapsulée par ce délégué.T2
: Le type de la deuxième paramètre de la méthode encapsulée par ce délégué.TResult
: Le type de la valeur de retour de la méthode encapsulée par ce délégué.(pris sur le type de commentaire)
OriginalL'auteur Marc Gravell
La convention est de préfixer les noms de type dans les génériques avec un T majuscule
Les génériques des meilleures pratiques
OriginalL'auteur Philippe Leybaert
Lorsque vous créez une classe générique, vous pouvez donner n'importe quel nom que vous voulez à un type générique. La convention est de le préfixer par "T".
Le modèle que je vois souvent, c'est que lorsque vous avez un seul type générique, il est appelé "T", mais quand vous avez plus d'un, ils ont des noms explicites (comme TKey et TValue) à différencier entre les différents types.
OriginalL'auteur Meta-Knight
TKey
est la clé du type;TValue
est la valeur de 's type.par exemple
Dictionary<string, int>
est incrustée sur une chaîne de caractères et retourne un intOriginalL'auteur Mitch Wheat
Ils sont les types génériques. Le capital T des moyens de type.
Dans cet exemple, le
T
est unint
.OriginalL'auteur Daniel A. White
Un dictionnaire est un magasin de clé/valeur. Dans
Dictionary<TKey,TValue>
TKey est le type de la Clé, et TValue est le Type de la Valeur.Il est recommandé que vous utilisez la même convention de nommage, si possible, dans votre propre génériques lorsqu'il y a nore que d'un paramètre de type. Sinon, nous obtenons
MyGeneric<Q,R,S,T,U,...>
OriginalL'auteur John Saunders
Il y a une convention pour l'emploi de T pour indiquer la classe de votre classe générique est basé sur (par exemple
List<T>
). Un dictionnaire est cependant basé sur deux classes, de sorte qu'ils ont choisi de les distinguer avec la Clé et la Valeur suffixe.Ils auraient pu choisir quelque chose - d'ailleurs dans d'autres scénarios que j'ai vu T et U utilisé, et d'autres lettres (c'est à dire V, X, etc) si plusieurs classes sont nécessaires.
OriginalL'auteur samjudson