深入浅析C#泛型类型

 更新时间:2017年02月19日 11:10:08   投稿:mrr  
这篇文章主要介绍C#泛型类型,非常不错,具有参考借鉴价值,需要的朋友可以参考下

上篇文章给大家介绍了浅析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#泛型类型,希望对大家有所帮助!

相关文章

  • C#中定时任务被阻塞问题的解决方法

    C#中定时任务被阻塞问题的解决方法

    这篇文章主要给大家介绍了关于C#中定时任务被阻塞问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • C#实现奇偶排序的示例代码

    C#实现奇偶排序的示例代码

    奇偶排序是一种简单的排序算法,该算法通过比较并交换相邻的元素来完成排序,本文主要介绍了C#实现奇偶排序的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • C#中的协变与逆变深入讲解

    C#中的协变与逆变深入讲解

    这篇文章主要给大家介绍了关于C#中协变与逆变的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • C# 如何使用ajax请求

    C# 如何使用ajax请求

    这篇文章主要介绍了C# 如何使用ajax请求,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不安全

    http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不安全

    图片上传常用的类型判断方法有这么几种---截取扩展名、获取文件ContentType (MIME) 、读取byte来判断(这个什么叫法来着?)。下面由脚本之家小编跟大家分享图片上传安全性问题,感兴趣的朋友一起看看吧
    2015-09-09
  • C#使用Dns类实现查询主机名对应IP地址

    C#使用Dns类实现查询主机名对应IP地址

    C#中的Dns类能够与默认的DNS服务器进行通信,以检索IP地址,这篇文章主要介绍了C#如何使用Dns类解析出主机对应的IP地址信息,需要的可以参考下
    2024-02-02
  • C#在PDF中绘制不同风格类型的文本方法实例

    C#在PDF中绘制不同风格类型的文本方法实例

    这篇文章主要给大家介绍了关于C#在PDF中绘制不同风格类型的文本的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 基于WPF实现边缘停靠效果

    基于WPF实现边缘停靠效果

    这篇文章主要为大家信息介绍了如何基于WPF实现边缘停靠效果,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • C#中匿名方法与委托的关系介绍

    C#中匿名方法与委托的关系介绍

    这篇文章介绍了C#中匿名方法与委托的关系,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • C#、ASP.NET通用扩展工具类之TypeParse

    C#、ASP.NET通用扩展工具类之TypeParse

    这篇文章主要介绍了C#、ASP.NET通用扩展工具类之TypeParse,使用了此类,类型转换方便多了,本文直接给出实现代码和使用方法,需要的朋友可以参考下
    2015-06-06

最新评论