Core Generic interface

   

IEnumerable<T>:you can interate my elemnts, no need to know the count, can not modify my contents (Array在这里)

var myString = new string[] {"","","",""}; //可以迭代但是不可以修改Collection本身但是item的值可以修改

ICollection<T>:I know how many elements I have, and you can modify my contents, but I don't know what kind of collection (不经常用)

int ICollection<T>.Count

IList<T> (List在这里)

var myStringList = new List<string> {"","","",""}; //可以迭代可以修改Collection本身

IDictionary<TKey, TValue> (Dictionary在这里)

ISet<T> (Set在这里)

IEnumerable<T>

IEnumerable<T>类型可以迭代,具体实现要用Enumerator,但是foreach已经为我们做好了转换,而且foreach可以作用与所有的collection.

ICollection<T>

比IEnumberable<T>多了写

Count只有ICollection有,Array没有Count property,但是有Array.Length,如果非要数Count就用Linq的IEnumerable<T>.Count()方法。

对于ICollection Linq有ICollection<T>.Count

IList<T>

因为继承自IEnumerable<T>所以有this[index]和indexof(),并且增加了Insert(), 和RemoveAt()

//look up element
string saturday = dayOfWeek[]; //replace element
dayOfWeek[] = "SlaveDay";

IDictionary<TKey, TValue>

You can look up my element with a Key

Country country =  countries["UK"];

C#中的Collection 2的更多相关文章

  1. Mybatis中的collection、association来处理结果映射

    前不久的项目时间紧张,为了尽快完成原型开发,写了一段效率相当低的代码. 最近几天闲下来,主动把之前的代码优化了一下:)   标签:Java.Mybatis.MySQL 概况:本地系统从另外一个系统得到 ...

  2. 优雅使用 illuminate/database 包中的 Collection

    优雅使用 illuminate/database 包中的 Collection 或许你很抵抗使用 Laravel , 但是你没有理由不喜欢使用 illuminate/database.这是一个 ORM ...

  3. java中集合Collection转list对象

    参考:java中集合Collection转list对象 首先我的需求是获取到购物车列表,购物车列表是一个Map对象,构造方法获取购物项,这里购物项是Collection对象 // 购物项集合,K商品I ...

  4. Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版)

    Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版) XML版本: 实体类: @Data @NoArgsConstructor public class Course ...

  5. ruby -- 进阶学习(十)自定义路由中:new, :collection和:member的区别

    学习链接:http://rubyer.me/blog/583/ RESTful风格的路由动词默认有7个(分别为:index, show, create, new, edit, update, dest ...

  6. java中的Collection集合类

    随着1998年JDK 1.2的发布,同时新增了常用的Collections集合类,包含了Collection和Map接口.而Dictionary类是在1996年JDK 1.0发布时就已经有了.它们都可 ...

  7. mybatis 中 foreach collection的三种用法

    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. ...

  8. mybatis 中 foreach collection的三种用法(转)

    文章转自 https://blog.csdn.net/qq_24084925/article/details/53790287 oreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  9. java 中的Collection

    /* *一. Collection?-------->容器! * * 1.来源于java.util包 非常实用的数据结构! * *二. 方法? * * void clear()删除集合中所有元素 ...

  10. JAVA 中的 Collection 和 Map 以及相关派生类的概念

    JAVA中Collection接口和Map接口的主要实现类   Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的 ...

随机推荐

  1. scala学习笔记(2)

    1 Loop (1) for (i <- 1 to 3){ # 1 2 3 } (2) for (i <- 1 until 3){ #1 2 } (3)过滤 for (i <- 1 ...

  2. session_start保存的客户端cookie的值什么时候改变

    //cookie记录的session_id立刻改变了session_start();echo "old:".session_id();session_regenerate_id() ...

  3. 【英语】Bingo口语笔记(8) - 爆破音的发音技巧

    轻读,有时候甚至是听不到的,就嘴巴碰一下而已.

  4. 转深入学习heritrix---体系结构(Overview of the crawler)

    Heritrix采用了模块化的设计,它由一些核心类(core classes)和可插件模块(pluggable modules)构成.核心类可以配置,但不能被覆盖,插件模块可以被由第三方模块取代. ( ...

  5. 【转】shell脚本调试(bash trap support bashdb )

    原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 ...

  6. 2015年目标一:学习掌握python

    俗话说:凡事预则立,不预则废.又到新的一年,给自己确定第一个目标:学习python.掌握python基本用法.其实2014年已经断断续续接触过python,但一直是不系统地在学习,而且基本上没有把py ...

  7. 如何用HTML5+PhoneGap写个Path项目

    最近Path这个应用很火爆,网上也出现了不少仿Path菜单的项目.即使在原生APP里边,Path的效果也是非常赞的.我突然想,Web APP是不是也能做出类似Path那样的效果呢?于是就有了OPath ...

  8. 【Android】不弹root请求框检测手机是否root

    由于项目需要root安装软件,并且希望在合适的时候引导用户去开启root安装,故需要检测手机是否root. 最基本的判断如下,直接运行一个底层命令.(参考https://github.com/Trin ...

  9. 匿名函数自执行原理和instanceof运算符执行原理

    今天收到RSS订阅中有一篇<Javascript – Arraylike的7种实现>,看第一种实现方式是,瞬间被!function(){}()这种匿名函数自执行方式给亮瞎了眼睛.这种写法绝 ...

  10. 修改 AndroidManifest minSdkVersion 的方法

    1.修改AndroidManifest文件    使用16进制编辑器检索位置:FF FF FF FF 08 00 00 10 ??    将??替换为原APK的minSdkVersion对应的16进制 ...