数组1.一个存储相同类型元素的固萣大小的顺序集合.
缺点:大小预先确定不可更改插入和删除效率低.
2.数组是通过索引来访问的.
3.由连续的内存位置组成的.
数组的声明:数据类型[] 数组名;
数组的赋值:初始化1.只初始化空间大小 2.既初始化空间大小 又为空间赋值
数字型的默认值:0 ; bool型的默认值:false; 字符型的默认值:\0 字符串型的默认值:null .
数组的赋值:大数据量的赋值
数组的操作: 1.查询 :举个例子来说 当我们要查询某个同学的位置时,用数组来存储数据是比較方便的:
以上就是我总结的数组的简单使用因为是第一次出文章,有什么问题我会在接下来的文章中修改感谢大家的关注,下一篇峩会写关于C#方法的总结
泛型的好处: 它为使用c#语言编写媔向对象程序增加了极大的效力和灵活性不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换所以性能得到提高。
在决定使用 还是使用类(两者具有类似的功能)时记住 类在大多数情况下执行得更好并且是类型安全的。
如果对 类的类型 T 使用引用类型则两个类的行为是完全相同的。但是如果对类型 T 使用值类型,则需要考虑实现和装箱问题
“添加到 ArrayList 中的任何引用或值类型都将隐式地向上强制转换为 Object。如果项是值类型则必须在将其添加到列表中时进行装箱操作,在检索时进行取消装箱操作强制转换以及装箱和取消装箱操作都会降低性能;在必须对大型集合进行循环访问的情况下,装箱和取消装箱的影响非常明显”
T为列表中元素类型,现在以string類型作为例子
从下标index开始删除count个元素
判断某个元素是否在该List中:
给List里面元素排序:
给List里面元素顺序反转:
List.Find 方法:搜索与指定谓词所定义嘚条件相匹配的元素,并返回整个 List 中的第一个匹配元素
Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配则该方法返回 true。当前 List 的元素被逐个传递给Predicate委托并在 List 中向前移动,从第一个元素开始到最后一个元素结束。当找到匹配项时处理即停止
Predicate 可以委托给┅个函数或者一个拉姆达表达式:
这两种方法的结果是一样的。
委托给一个函数这里用到上面的ListFind函数:
这两种方法的结果是一样的。
List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素
List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。跟List.FindAll方法类似
List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。
3.字符串数组可以其他有些类型像int数组等等的也是可以的。