科技企业网站建设深圳网站建设公司地图

web/2025/10/3 1:26:08/文章来源:
科技企业网站建设,深圳网站建设公司地图,重庆网站设计工作室,黑龙江门户网站建设深入浅出.NET泛型编程(1) 使用泛型集合  .NET 2.0的System.Collections.Generics 命名空间包含了泛型集合定义。各种不同的集合/容器类都被参数化了。为使用它们,只需简单地指定参数化的类型即可。请看例2:例2.类型安全的泛型列表List#xff1c;int#xff1e… 深入浅出.NET泛型编程(1) 使用泛型集合  .NET 2.0的System.Collections.Generics 命名空间包含了泛型集合定义。各种不同的集合/容器类都被参数化了。为使用它们,只需简单地指定参数化的类型即可。请看例2:  例2.类型安全的泛型列表 Listint aList  new Listint();aList.Add(3);aList.Add(4);// aList.Add(5.0);int total  0;foreach(int val in aList){ total  total  val;}Console.WriteLine(Total is {0}, total); 在例2中我编写了一个泛型的列表的例子在尖括号内指定参数类型为int。该代码的执行将产生结果Total is 7。现在,如果我去掉语句doubleList.Add(5.0)的注释我将得到一个编译错误。编译器指出它不能发送值5.0到方法Add(),因为该方法仅接受int型。不同于例1,这里的代码实现了类型安全。  5. CLR对于泛型的支持  泛型不仅是一个语言级上的特征。.NET CLR能识别出泛型。在这种意义上说,泛型的使用是.NET中最为优秀的特征之一。对每个用于泛型化的类型的参数类也同样没有脱离开微软中间语言(MSIL)。换句话说,你的配件集仅包含你的参数化的数据结构或类的一个定义而不管使用多少种不同的类型来表达该参数化的类型。例如,如果你定义一个泛型类型MyListT仅仅该类型的一个定义出现在MSIL中。当程序执行时,不同的类被动态地创建,每个类对应该参数化类型的一种类型。如果你使用MyListint和MyListdouble有两种类即被创建。当你的程序执行时让我们进一步在例3中分析这一点。  例3.创建一个泛型类 //MyList.csUsing directives#region Using directivesusing System;using System.Collections.Generic;using System.Text;#endregionnamespace CLRSupportExample{ public class MyListT {  private static int objCount  0;  public MyList()  {objCount; }  public int Count  {   get    {return objCount; }  } }}//Program.csUsing directives#region Using directivesusing System;using System.Collections.Generic;using System.Text;#endregionnamespace CLRSupportExample{ class SampleClass {} class Program {  static void Main(string[] args)  {   MyListint myIntList  new MyListint();   MyListint myIntList2  new MyListint();   MyListdouble myDoubleList  new MyListdouble();   MyListSampleClass mySampleList  new MyListSampleClass();   Console.WriteLine(myIntList.Count);   Console.WriteLine(myIntList2.Count);   Console.WriteLine(myDoubleList.Count);   Console.WriteLine(mySampleList.Count);   Console.WriteLine(new MyListsampleclass().Count);   Console.ReadLine();  } }}该例中我创建了一个称为MyList泛型类。为把它参数化我简单地插入了一个尖括号。在内的T代表了实际的当使用该类时要指定的类型。在MyList类中定义了一个静态字段objCount。我在构造器中增加它的值。因此我能发现使用我的类的用户共创建了多少个那种类型的对象。属性Count返回与被调用的实例同类型的实例的数目。  在Main()方法,我创建了MyListint的两个实例一个MyListdouble的实例还有两个MyListSampleClass的实例--其中SampleClass是我已定义了的类。问题是:Count(上面的程序的输出)的值该是多少在你继阅读之前试一试回答这个问题。  解决了上面的问题你得到下列的答案了吗 1222314152   6/**//*注意这里是2。因为这个是运行时动态创建的在编译时static的变量值为1如同第一第二行他们都是2因为在编译时就已经创建两个int类型的实例所以static的值是2*/前面两个2对应MyListint第一个1对应MyListdouble第二个1对应MyListSampleClass--在此仅创建一个这种类型的实例。最后一个2对应MyListSampleClass因为代码中又创建了这种类型的另外一个实例。上面的例子说明MyListint是一个与MyListdouble不同的类而MyListdouble又是一个与MyListSampleClass不同的类。因此在这个例中,我们有四个类MyList: MyListTMyListintMyListdouble和MyListX。注意虽然有4个MyList类但仅有一个被存储在MSIL。怎么能证明这一点请看图1显示出的使用工具ildasm.exe生成的MSIL代码。6. 泛型方法  除了有泛型类你也可以有泛型方法。泛型方法可以是任何类的一部分。让我们看一下例4:  例4.一个泛型方法 public class Program{ public static void CopyT(ListT source, ListT destination) {  foreach (T obj in source)  {   destination.Add(obj);  } } static void Main(string[] args) {  Listint lst1  new Listint();  lst1.Add(2);  lst1.Add(4);  Listint lst2  new Listint();  Copy(lst1, lst2);  Console.WriteLine(lst2.Count); }}Copy()方法就是一个泛型方法它与参数化的类型T一起工作。当在Main()中激活Copy()时编译器根据提供给Copy()方法的参数确定出要使用的具体类型。 posted on 2005-08-19 23:24 海盗 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/Grisson/archive/2005/08/19/218844.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做一个模板网站多少钱北京开公司的基本流程及费用

一&#xff0c;实验的流程图二&#xff0c;实验代码注&#xff1a;本代码主要来自豆丁&#xff0c;加入本人的部分修改。。//本FCFS是用不带都结点的链表完成。当然也可以用其他数据结构 #include<stdio.h>#include<stdlib.h>typedef struct PCB //定义进程控…

湖北建站管理系统信息简单的网站建设合同书

CocoaChina05-13正则表达式&#xff0c;一个十分古老而又强大的文本处理工具&#xff0c;仅仅用一段非常简短的表达式语句&#xff0c;便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话&#xff0c;能够使你的开发效率得到极大的提升。下面是技匠整理的&#x…

县建设局 协会网站扫二维码直接进网站怎么做

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

自己做的网站怎么上传到域名西地那非可以长期吃吗

ACM中的工作分配问题是一个典型的回溯问题&#xff0c;利用回溯思想能很准确地得到问题的解。下面就这个问题好好分析下。 问题描述&#xff1a; 设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法&#xff0c;计算最佳工作分配方案&#xff0c…

网站建设需要提供的资料购物网站用户管理

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的火车站订票系统 系统有2权限&#xff1a;…

大连做企业网站哪家好做车品的网站

以下是华为数通面试考试的一道真题&#xff0c;原题如下&#xff1b; 请举例说明 stp 的 edge port 的作用,用在什么场景&#xff0c;并且使用 edge port 会碰到什么问题&#xff0c;怎么解决和防止&#xff1f; 提到边缘端口&#xff0c;我们是在NP课程的交换部分第一次接触&a…

永济市网站建设wordpress怎么添加用户中心页面

第一部分&#xff1a;电磁逆设计与伴随变量法的基础介绍 1. 电磁逆设计简介 电磁逆设计是一种寻找最优电磁结构的方法&#xff0c;以实现特定的电磁响应。与传统的电磁设计方法不同&#xff0c;逆设计方法不是从已知的结构出发&#xff0c;而是从期望的响应出发&#xff0c;反…

做网站方案自己做的网站怎么显示表格边框

如下所示成绩表,如何按行(每个人)或按列(每门课)的平均成绩? 结果: 文章目录 1. 自定义行平均函数2. 自定义列平均函数3. main()函数调用平均函数1. 自定义行平均函数 float save(float **PA,int M,int

网站建设流程域名申请怎么做垂直网站

调整网络为绑定模式&#xff0c;但启动时候会报错&#xff0c;此时执行命令 modprobe bonding 可以解决问题。 之前在磁盘方面遇到问题也是通过modprobe命令解决的&#xff0c;又遇到这个命令&#xff0c;似曾相识。于是看下该命令&#xff1a; Linux命令&#xff1a;modprobe …

网站风格总结株洲正规竞价优化推荐

假设一个模型&#xff0c;被2bit量化&#xff0c;然后一直瞎说话&#xff0c;怎么办&#xff1f;你是不是应该评估一下这个模型的效果&#xff1f; 但是&#xff0c;大模型的评估是很复杂的&#xff0c;如果说小模型的测试就像体检&#xff0c;指标明确&#xff0c;那么大模型…

精品课网站怎么做女孩子做电商运营是不是压力很大

Power Platform 系统通过允许用户执行以下三个关键操作来帮助他们推动业务发展&#xff1a;使用 Power BI 从数据中获得见解&#xff0c;通过使用 PowerApps 构建的应用程序来推动智能业务流程&#xff0c;以及使用 Power Automate 自动执行这些流程。 这些解决方案彼此配合协作…

自己做的网站如如统计访问量重庆网站供奉

html{overflow-y:scroll;}转载于:https://www.cnblogs.com/yuchav/archive/2011/10/19/2217652.html

跟网站开发公司签合同主要要点wordpress阅读次数自动增长

Spark算子 文章目录Spark算子一、转换算子coalesce函数repartition函数flatMap——flatMap变换sample——抽样zip——联结mapValues——对Value值进行变换二、行动Action算子数据运算类行动算子reduce——Reduce操作collect——收集元素countByKey——按Key值统计Key/Value型RD…

庆阳网站优化公司wamp配置多个网站

什么造就了成功的测试套件如果测量测试套件的质量&#xff1f;唯一可行的办法就是对测试套件里每一个测试进行单独的评估。你不需要一次性把它们都评估完。你可以逐步的进行评估成功的测试套件拥有以下属性&#xff1a;集成到开发周期中只针对代码库中最重要的部分它以最低的成…

深圳市seo网站设计长沙微网站

http://www.cnblogs.com/smallstone/archive/2010/06/29/1767508.html 一、GAC的作用 全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly&#xff0c;例如System.Data、System.Windows.Forms等等。这样&#xff0c;很多程序就可以从GAC里面取得…

企业服务网站淘宝网站首页怎么做

Anacond的介绍 Anaconda指的是一个开源的Python发行版本&#xff0c;其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包&#xff0c;Anaconda 的下载文件比较大&#xff08;约 531 MB&#xff09;&#xff0c;如果只需要某些包&#xff0c;或者需要节…

html5 企业网站可以全部免费观看的平台

第一步 获取root权限 配置环境等都需要用到root权限&#xff0c;所以我们先获取到root权限&#xff0c;方便下面的操作 下载软件 在UOS应用商店下载的所需应用 版本都比较低 安装node 官网下载了【arm64】的包&#xff0c;解压到指定文件夹&#xff0c;设置链接&#xff0…

大连网站建设培训班制作网页的工具主要有哪些

在过去的十年中&#xff0c;出现了许多涉及计算机视觉(CV)的项目&#xff0c;无论是小型的概念验证项目还是更大规模的生产应用。应用计算机视觉的方法是相当标准化的: 1、定义问题(分类、检测、跟踪、分割)、输入数据(图片的大小和类型、视野)和类别(正是我们想要的) 2、注释…

忘记网站后台用户名高端网站建设哪家更专业

联合体 联合体的创建 联合体的关键字是union union S {char a;int i; };除了关键字和结构体不一样之外&#xff0c;联合体的创建语法形式和结构体的很相似&#xff0c;如果不熟悉结构体的创建&#xff0c;可以看一下我上一篇的博客关于结构体知识的详解。 联合体的特点 联合…

路由器做网站80端口公众号登陆入口

1.跳跃游戏 原题&#xff1a;力扣55. 逐步判断下一步的覆盖范围&#xff0c;根据范围去推断是否能到达终点&#xff0c;不用计较每一步走到哪里。 public boolean canJump(int[] nums) {// 题目规定 nums 长度大于等于1if (nums.length 1) {return true;}int cover 0;// f…