当前位置: 首页 > news >正文

网站信息化建设什么意思如何建立公司网页

网站信息化建设什么意思,如何建立公司网页,爱南宁app,建设文库网站目录 一、泛型的类型参数T 二、创建泛型接口 1.接口及约束定义 2.示例 三、创建泛型方法 泛型是C# 和公共语言运行库#xff08;CLR#xff09;中的一个功能#xff0c;这是一种可以使程序支持不同类型的技术。它将类型参数的概念引入.NET Framework中#xff0c;类型…目录 一、泛型的类型参数T 二、创建泛型接口 1.接口及约束定义 2.示例 三、创建泛型方法 泛型是C# 和公共语言运行库CLR中的一个功能这是一种可以使程序支持不同类型的技术。它将类型参数的概念引入.NET Framework中类型参数将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法。即泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型在实例化时作为参数指明这些类型。 泛型是用于处理算法、数据结构的一种编程方法。泛型的目标是采用广泛适用和可交互性的形式来表示算法和数据结构以使它们能够直接用于软件构造。泛型类、结构、接口、委托和方法可以根据它们存储和操作的数据的类型来进行参数化。泛型能在编译时提供强大的类型检查减少数据类型之间的显示转换、装箱操作和运行时的类型检查。泛型类和泛型方法同时具备可重用性、类型安全和效率高等特性这是非泛型类和非泛型方法无法具备的。泛型通常用在集合和在集合上运行的方法中。泛型主要是提高了代码的重用性。         一、泛型的类型参数T 泛型的类型参数T 可以看作 是一个占位符它不是一种类型它仅代表了某种可能的类型 。在定义泛型 时T 出现的位置可以在使用时用任何类型来代替。 类型参数T的命名准则如下//使用描述性名称命名泛型类型参数除非单个字母名称完全可以让人了解它表示的含义而描述性名称不会有更多的意义。 public interface ISessionChannelSession public delegate TOutput ConverterInput,Output//将T作为描述性类型参数名的前缀 public interface ISessionChannelTSession {TSession Session{get;} } 二、创建泛型接口 1.接口及约束定义         泛型接口的声明形式如下 interface [接口名] T {[接口体] }         声明泛型接口时与声明一般接口的唯一区别是增加了一个T。一般来说声明泛型接口与声明非泛型接口遵循相同的规则。泛型类型声明所实现的接口必须对所有可能的构造类型都保持唯一。否则就无法确定该为某些构造类型调用哪个方法。 在实例化泛型时也可以使用约束对类型参数的类型种类施加限制约束是使用where上下文关键字指定的。下面列出了6种类型的约束。 约束 说明 T:结构 类型参数必须是值类型。可以指定除Nullable以外的任何值类型 T:类 类型参数必须是引用类型。这一点也适用于任何类、接口、委托或数组类型 T:new() 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时new()约束必须最后指定。 T:基类名 类型参数必须是指定的基类或派生自指定的基类。 T:接口名称 类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。 T:U 为T提供的类型参数必须是为U提供的参数或派生自为U提供的参数。这称为裸类型约束。 2.示例 // 泛型 using System.ComponentModel;namespace _01 {/// summary/// 创建一个泛型接口/// 接口中调用CreateInstance方法/// /summary/// typeparam nameT/typeparampublic interface IGenericInterfaceT{T CreateInstance();}/// summary/// 实现上面泛型接口的泛型类,创建一个公共方法CreateInstance/// 派生约束where T : TIT要继承自TI/// 构造函数约束where T : new()T可以实例化/// /summary/// typeparam nameT/typeparam/// typeparam nameTI/typeparampublic class FactoryT, TI : IGenericInterfaceTI where T : TI, new(){public TI CreateInstance(){return new T();}}class Program{/// summary/// 注释掉的部分是一种实现但会引起警告CA1859/// 内联临时变量后不需要实例化接口,并且解决警告CA1859/// 输出指定泛型的类型/// /summarystatic void Main(){//实例化接口//IGenericInterfaceSystem.ComponentModel.IListSource factory new FactorySystem.Data.DataTable, System.ComponentModel.IListSource();//Console.WriteLine(factory.CreateInstance().GetType().ToString());Console.WriteLine(new FactorySystem.Data.DataTable, IListSource().CreateInstance().GetType().ToString());Console.ReadLine();}} } /*运行结果System.Data.DataTable */ 三、创建泛型方法 泛型方法是在声明中包括了类型参数T的方法。泛型方法可以在类、结构或接口声明中声明这些类、结构或接口本身可以是泛型或非泛型的。如果在泛型类型声明中声明泛型方法则方法体可以同时引用该方法的类型参数T和包含该方法的声明的类型参数T。泛型方法可以使用多类型参数进行重载。        //泛型方法的声明形式如下 [修饰符] Void [方法名] 类型参数T {[方法体] } 示例在数组中查找某一数值的位置 // 泛型方法 // 通过定义一个泛型方法查找数组中某个数字的位置 namespace _02 {public class Finder //建立一个公共类Finder{/// summary/// 创建泛型方法/// /summary/// typeparam nameT泛型类型/typeparam/// param nameitems数组变量/param/// param nameitem指定的某个数值常量/param/// returnsi从0起的数组索引号/returnspublic static int FindT(T[] items, T item){for (int i 0; i items.Length; i) //调用for循环{if (items[i]!.Equals(item)) //调用Equals方法比较两个数{return i; //返回相等数在数组中的位置}}return -1; //如果不存在指定的数则返回-1}}class Program{/// summary/// 在泛型数组中查询并输出6的元素的索引号/// /summarystatic void Main(string[] args){int i Finder.Find([1, 2, 3, 4, 5, 6, 8, 9], 6); Console.WriteLine(6在数组中的位置 i.ToString());Console.ReadLine();}} } /*6在数组中的位置5 */ 用泛型方法来表达思路太清晰了。
http://www.zqtcl.cn/news/453535/

相关文章:

  • 自适应网站建设推荐淘宝详情页设计
  • 手机网站域名设置深圳的网站建设公司怎么样
  • 余姚网站建设设计服务cms网站源码
  • 工作是套模板做网站想做网站制作运营注册什么公司核实
  • 北京网站建设116networdpress导航栏下拉菜单
  • 医院网站建设的目标网络服务许可证
  • 市场部做网站工作职责晋江论坛网
  • 网站怎么吸引人网站优化策略分析
  • 河北建设厅网站衡水网站建设培训学校
  • 新网网站空间到期停了 咋续费网站营销推广应该怎么做
  • 网站建设和编辑实训报告安卓版网页制作软件
  • 网站模板框架站长资讯
  • 上海做网站哪家公司2022年国际国内重大新闻
  • 网站建设如何定位网站建设思路方向
  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊