上篇文章给人人引见了浅析C# 中的范例体系(值范例和援用范例),接下来经由过程本文给人人引见下c# 泛型范例,
说下C#中的泛型,熟练地运用泛型能进步代码的重用性,运用我们代码霎时就嵬峨上了,固然只要一点点,真的只要一点点,由于背面要进修和控制的学问另有许多。先来看下一个运用Dictionary<TKey,TValue>的例子。
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; }
泛型的两种情势:泛型范例(类、接口、托付和组织)和泛型要领,像TKey和TValue就是范例参数,而传入的int和string就是实在范例,能够看出范例参数只是实在范例的占位符。没有为范例参数供应实在参数的泛型叫做未组织泛型范例,假如指定了范例实参叫做已组织范例,而范例的实例才是我们运用到的对象。下图关联图。
关于泛型的推断是一件让人头痛的事变,接下我们要好好说下,能够说得不是很清晰,全力吧,由于书中说的我也不是很邃晓,先在这说明下。不清晰的话能够看看书中的诠释。先看下图
当我们看如许的泛型要领时,在实际运用中须要去替代内里的参数范例(前面也说过,参数范例实际上是范例实参的占位符),运用string去替代T,运用int去替代TOutput
public static List<int> GetAll(Converter<string, int> conv) { }
个中Converter<string,int>是一个已组织范例,conv是一个形参,如今应该能晓得这个泛型要领作用:运用一个Converter<string,int>泛型托付的实例作为参数,返回一个包括整型的的列表。
以上就是C#泛型范例的细致引见的细致内容,更多请关注ki4网别的相干文章!