C# 泛型(Generic)

这篇具有很好参考价值的文章主要介绍了C# 泛型(Generic)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法重载:方法名称相同,参数个数和参数类型不同;
优势:可以节约方法名称
劣势:方法过多
语法:public void writeContent(T t)
原理:普通的C#代码他是运行在前端进行编译,所有的类型需要确定,但是泛型不同,泛型是在程序运行的时候进行编译的,程序已经可以捕捉到参数的类型了,所以在这个时候,.NET FW会根据当前的方法生成若干个副本,根据传入的参数来进行调用哪个副本;
缺点:因为每个泛型方法都是在运行的时候会产生若干个副本,导致DLL文件的体积增大;
使用:s.writeContent(“123”);
作用:泛型可以解放我们方法重载的数量。因为方法重载需要不停的去声明方法,这样会导致方法的数量越来越多,同时扩展性会越来越差。
泛型:高扩展,高可用
泛型可以约束方法,类,属性
1:泛型类:public class student
2:泛型方法:public void writeContent(T,t)
泛型的局限
因为他是在编译的时候才知道类型的,所以复杂类型的值没办法获取到;
**泛型约束:**我们有时候会对未来调用传参数进行限制,对参数进行限制叫做泛型约束。
注意:泛型约束概念要理解为什么泛型本身是为了高扩展,反而又进行了一个约束?
原因:在我们日常编写代码的过程中,有时候我们需要宽泛类型,但是也有一个范围,不是所有的类型我们都需要;文章来源地址https://www.toymoban.com/news/detail-616705.html

到了这里,关于C# 泛型(Generic)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C 语言实现 C# 中的 List 泛型列表

    //下面是一个简单的用 C 语言实现 C# 中的 List 泛型列表的示例代码,代码中有详细的注释,帮助你理解代码的实现细节。 人工智能生成的. 以后可以用人工智能实现很多代码了. 简单的活让它来干.

    2024年02月10日
    浏览(45)
  • 每个.NET开发都应掌握C#泛型的知识点

    C#泛型编程是.NET framework 2.0的新特征,它提高了代码安全性和代码重用的问题。由于泛型必须指定类型,正确的使用可以避免了装箱拆箱的问题;使用了泛型后,可以将算法或组件泛型化,基于类型参数支持任意数据类型,从而提高了代码的重用性。 C#泛型编程在C#是很重要的特

    2024年02月15日
    浏览(46)
  • C# 泛型

    目录 一、前言 二、相关内容 1、什么是泛型? 2、泛型类 3、泛型方法  4、限定类型参数 4.1、 类型参数的基本约束 4.2、接口约束 4.3、基类约束 4.5、泛型参数与限定类型参数的关系 4.6、自定义约束 5、使用泛型的好处 5.1、代码复用性 5.2、类型安全性 5.3、性能优化 5.4、代码

    2024年02月11日
    浏览(28)
  • c# 泛型概述

    c# 泛型概述 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test01 { //创建一个泛型接口 public interface IGenericInterface { T CreateInstance(); //接口中调用CreateInstance方法 } //实现上面泛型接口的泛型类 //派生约束where T : TI(T要继承自TI) //构造函数约束where T

    2024年02月12日
    浏览(42)
  • 【C# Programming】异常处理、泛型

            C# 允许代码引发从System.Exception 派生。 例如:         两个类似的异常是ArgumentNullException 和 NullReferenceException. 一般在解引用null值时,底层触发NullReferenceException。         参数异常类型(ArgumentException、ArgumentNullException和ArgumentOutRangeException) 一个重要特征是

    2024年02月07日
    浏览(42)
  • C# 泛型List排序的实现

    本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下: 代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 9

    2024年02月12日
    浏览(40)
  • C#学习,委托,事件,泛型,匿名方法

    目录 委托 声明委托 实例化委托 委托的多播 委托的用途 事件 通过事件使用委托 声明事件 泛型 泛型的特性 泛型方法 泛型的委托 匿名方法 编写匿名方法的语法 类似于指针,委托是存有对某个方法的引用的一种引用类型变量,引用可以在运行时被改变。特别用于实现事件和

    2024年02月12日
    浏览(43)
  • C#进阶 多个泛型约束

    2024年02月09日
    浏览(43)
  • C#(六十二)之泛型的约束

    类型约束 基类约束有两个重要的目的。 1:它允许在泛型类中使用有约束指定的基类成员。 2:确保只能使用支持指定基类或派生类的类型实例。 约束是使用 where 上下文指定的。 下表列出了五种类型的约束: 约束 说明 T:struct 类型参数必须是值类型。可以指定除

    2024年02月17日
    浏览(41)
  • C#基础学习_泛型集合List<T>

    为什么要使用集合? 数组元素个数是固定的,数组一旦定义,就无法改变元素总数。如果需求变化,则必须修改源码。 如果初始化元素总数非常大,则会造成浪费。 集合的特点: 根据需要动态增加元素个数,没有限制 List泛型集合的存储结构,与数组类似,也是通过索引号

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包