Cet article présente principalementC#les types génériques, ce qui est très bien et a une valeur de référence. Les amis dans le besoin peuvent s'y référer
L'article précédent vous a présenté une brève analyse de C#. . Système de types (type de valeur et type de référence). Ensuite, cet article vous présentera les types génériques C#
Parlons des génériques en C#. vous fait vous sentir mieux instantanément, bien sûr seulement un petit peu, vraiment seulement un petit peu, car il y a encore beaucoup de connaissances à apprendre et à maîtriser plus tard. Examinons d'abord l'exemple suivant d'utilisation de Dictionary
static void Main(string[] args) { Dictionary<int, string> result = GetAll(); } public static Dictionary<int, string> GetAll() { var dic = new Dictionary<int, string>(); dic.Add(1, "aaa"); dic.Add(1, "aaa"); dic.Add(1, "aaa"); return dic; }
Deux formes de génériques : les types génériques (classes, interfaces , délégués et structures) et les méthodes génériques, telles que TKey et TValue sont des paramètres de type, et les int et string sont des types réels. On peut voir que les paramètres de type ne sont que des espaces réservés pour les types réels. Les génériques qui ne fournissent pas de paramètres réels pour les paramètres de type sont appelés types génériques non construits. Si des paramètres de type sont spécifiés, ils sont appelés types construits et les instances du type sont les objets que nous utilisons. Le diagramme de relation ci-dessous.
Le jugement des génériques est un casse-tête. Ensuite, nous devons l'expliquer soigneusement. Ce n'est peut-être pas très clair, mais faites de notre mieux, car le livre ne l'est pas. Je ne comprends pas très bien ce que vous dites, alors laissez-moi d'abord vous l'expliquer. Si vous n'êtes pas sûr, vous pouvez lire l'explication dans le livre. Regardez d'abord l'image ci-dessous
Lorsque nous regardons une méthode aussi générique, nous devons remplacer le type de paramètre dans l'utilisation réelle (comme mentionné précédemment, le type de paramètre est en fait un espace réservé pour les paramètres de type réels), utilisez une chaîne pour remplacer T, utilisez int pour remplacer TOutput
public static List<int> GetAll(Converter<string, int> conv) { }
Où Converter
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!