20120828
发布日期:2022-03-02 13:24:01 浏览次数:43 分类:技术文章

本文共 1907 字,大约阅读时间需要 6 分钟。

集合:

  基本的集合功能:IEnumerable 可迭代集合中的项目;ICollection(继承于IEnumerable)获取集合个数,并把项复制到简单数组类型;IList(继承于IEnumerable,ICollection)提供集合的项列表,并可以访问这些项目,以及其他功能;IDictionary,类似IList,且可以通过键码值获取;

   ArrayList的AddRang()添加多个数据,支持ICollection接口。

   CollectionBase类有接口IEnumerable、ICollection 和IList。并提供两个保护属性List和InnerList,List通过IList访问项,InnerList用于储存项的ArrayList对象。

   可以通过foreach进行遍历返回对象。

    DictionaryBase类类似于CollectionBase,区别DictionaryBase返回DictionaryEntry,需要DictionaryEntry.Value返回对象

迭代器:

   Foreach运行过程,在迭代集合collectionobject集合中:

   1)调用collectionobject.GetEnumerator()

   2)MoveNext()?使用IEnumerator.Current = 当前引用:结束;

   迭代器中使用Yield关键词选择Foreach循环中使用的值。

public static IEnumerable SimpleList (){    yield return "string 1";    yield return "string 1";    yield return "string 1";}public static void Main( string []  args ){    foreach ( string item in SimpleList() )    {         Console.WriteLine(item);    }     Console.ReadKey();}

运行过程:Foreach每遍历一次(请求一次结果)才运行一次yield,上图中SimpleList会中断。

IS运算符

检查对象是否是给定的类型,或者可以转化为给定的类型。 <operand> is <type>

可以重载的运算符:

  一元:+,-,!,~,++,--,true,false

  二元:+,-,*,/,%,&,|,^,<<,>>

  三元: ==,!=,<,>,<=,>=

IComparable和IComparer接口

区别: IComparable在要比较的类中实现,比较该类与另一个对象

IComparer在单独的一个类中实现,比较任意两个对象。

类Comparer提供了IComparer接口的默认实现方式

(Comparer.Default.Compare( obj, obj))

 

As运算符,将一种类型转换为另一种引用类型。

<operand> as <type>,但是只能运用于: <operand>类型是 /可以隐私转换为/可以封箱到<type>类型3种情况。否则返回NULL

泛型

可空类型:Nullable

例子:

System.Nullable
nullInt ;
nullInt = null

等价于:

nullInt = new System.Nullable
();

常使用以下简化:

int ? nullInt;

 

 

??运算符

 

op1 ?? op2

等价于:

op1 == op2 ? op1 : op2;

其中op1为任意可空表达式(引用,可空类型)

 

定义泛型(泛型的使用)

针对于泛型算法中泛型变量的初始化,值类型不能为null,所以不确定。一个泛型类型传入类型为值类型或者引用类型,因此也不能给定其一个正确的默认值(值类型为0,引用为null)

针对于泛型中只能使用特定集中类型,可以使用关键词where

class MyClass
where T : int, double ,classA{ ... ...}class MyClass
where T1 : int where T2 :classA{ ... ...}

转载于:https://www.cnblogs.com/Caius/archive/2012/08/31/2664874.html

转载地址:https://blog.csdn.net/anqingxun0615/article/details/101368130 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:无需通过redis,而是直接通过JAVA来生成订单号(日期+流水号), java按日期加流水号方式生成订单号
下一篇:20120824

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月19日 13时30分15秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

php mht2html,PHP 处理 mht 文件 2019-04-21
rt2tr matlab,MATLAB机器人工具箱参考 2019-04-21
MATLAB中GUI界面弹出菜单的使用,Matlab GUIDE使用说明(Matlab GUI界面) 2019-04-21
win iis对比apache php,服务器Apache与IIS的区别 2019-04-21
怎样用xampp测试php环境变量,使用xampp配置php运行环境的方法 2019-04-21
qq互联php教程,thinkphp5怎么整合qq互联登录教程 2019-04-21
Java怎么比较4数字大小,怎么判断四个数不成比例-判断4个数值相等-数学-古残夷同学... 2019-04-21
mysql建立索引 性能测试_MySQL分区和索引性能测试 2019-04-21
java 边缓存边播放,java动态缓存技术:WEB缓存应用 2019-04-21
matlab数据大小不兼容,MATLAB无法执行赋值,因为左侧的索引与右侧的大小不兼容。 求解... 2019-04-21
editor.md使用php,editor.md 配置参数和使用方法 2019-04-21
python mod,mod_python的安装 2019-04-21
python分析彩票数据,这波太炸了!Python脚本可视化居然可以这么玩 2019-04-21
简单的mysql重置root密码,重置mysql的root密码最简单的方法 2019-04-21
用matlab仿真mmc环流抑制器,一种基于准PR控制原理的MMC阀组环流抑制方法 2019-04-21
oracle 排序的分析函数,Oracle SQL:使用分析排序函数 2019-04-21
oracle direct for hdfs xi下载,ORACLE连接HDFS有个专项的解决方案 2019-04-21
java 403怎么抛出_java – 如何在Spring MVC中返回403禁止? 2019-04-21
java jsch工具类_Java工具集-JSch连接远程服务器工具类 2019-04-21
cmd背景变红1003无标题_怎样修改cmd中文字的大小、颜色和背景颜色呢 原来是这样的... 2019-04-21