这里介绍C#泛型支持在使用点处才定义算法及其数据类型。在C#的一些早期版本中,我们可以证明没有泛型也可以工作,因为每种类型都是派生于一个公共基类型-object。

C#言语有许多值得学习的当地,这儿咱们首要介绍C#泛型支撑,包含介绍C#泛型经过算法和数据结构支撑独立编码等方面。

C#泛型支撑简略描绘(c#泛型的描述)  C#泛型支持 第1张

"一次编码,屡次运用",这便是引进泛型的本源。在曾经的C++中称为模板,C#泛型经过算法和数据结构支撑独立编码。例如,泛型列表意味着,你不用再重写一个强类型调集。在本文中,作者将向你展现界说和运用泛型是多么简略的作业-请注意,长期以来泛型一向被认为是***级和最困难的术语。

泛型现在在任何一种言语中都被认为是一个高档的强有力的术语。当我在C++中***次触摸模板时,我对之有些疑问。之后,我读了Bjarne Stroustrop的《The Design and Evolution of C++》,才发现模板的运用就象C中的宏和用之来替代的简略串替换模板相同简略。其实,模板和泛型是相同的东西-虽然它们的完成略微不同。

C#泛型支撑在运用点处才界说算法及其数据类型。在C#的一些前期版别中,咱们能够证明没有泛型也能够作业,由于每种类型都是派生于一个公共基类型-object。这意味着程序员能够根据object类型界说一个栈类而且把全部东西放到该栈上(由于全部都派生于object)。但是,一个object栈意味着,Customer目标,Integer目标以及设想的目标都能被放置到同一个栈的实例上。结果是,开发者要子类化数据类型来把数据类型绑定到他们要与之交互的东西上去。例如,在编写定制的商业目标时,咱们就主张界说派生于 System.Collections.CollectionBase的强类型调集。原因很简略:根据object界说全部被认为是弱类型界说。

业界的高手们在数十年前就坚信强类型优于弱类型,所以.NET终究支撑强类型,这看上去是很天然的作业。强类型算法当然主张类型化参数-这正是咱们在泛型中所用的东西。

十几年来,咱们一向在运用字母T作为类型化参数的姓名。这样,在任何泛型类运用者所供给的数据类型的当地,你都能够找到T。运用泛型的要害仅仅是供给这个T。界说泛型的要害在于完成一个办法或类,而且用特定数据类型来替换掉T。

C#泛型支撑别的一些提炼。例如,一个办法或类能够有多个参数化的类型而且C#泛型支撑WHERE束缚-它用来具体要求类型化参数的类型。例如,假如一个泛型类型有必要完成接口IDisposable,那么C#泛型支撑完成这一约束的。

【修改引荐】

  1. C# this要害字详解
  2. C#调用析构办法详解
  3. C#开释保管资源简略描绘
  4. C#单路署理简略剖析
  5. C#文法发生式概述
转载请说明出处
知优网 » C#泛型支撑简略描绘(c#泛型的描述)

发表评论

您需要后才能发表评论