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

阜阳做网站哪家好开发商逾期交房怎么赔偿

阜阳做网站哪家好,开发商逾期交房怎么赔偿,金蝶软件多少钱一套,免费空间禁止做网络验证列表 数组可以管理大量数组,但缺点是无法更变容量。 创建小了不够用,创建大了浪费空间。 无法预测需要多少大小的时候,可能范围越大,就会浪费越多的空间。 所以,你可能会想要一种可以扩容的东西,代替数组…

列表

数组可以管理大量数组,但缺点是无法更变容量。
创建小了不够用,创建大了浪费空间。
无法预测需要多少大小的时候,可能范围越大,就会浪费越多的空间。

所以,你可能会想要一种可以扩容的东西,代替数组。
列表就能做到这件事。

创建

泛型列表的构造器可以填入一个数组,代表初始长度。
也可以直接传入一个可迭代的东西,据此初始化列表。
也可以什么都不填。

List<int> list1 = new List<int>();
List<int> list2 = new List<int>(10);int[] arr = { 9, 4, 8, 6, 2, 0 };
List<int> list3 = new List<int>(arr);

添加元素

列表使用Add方法添加元素。
在调用构造器时可以使用对象初始化器添加元素。

List<int> list2 = new List<int>() { 6, 9, 8 };list2.Add(0);
list2.Add(2);
list2.Add(9);
list2.Add(6);

使用AddRange可以一次添加一堆元素(参数是一个可迭代类型)

list2.AddRange(arr);

列表还可以从中间插入元素

list2.Insert(6,-1);//将元素-1插入到索引为6的位置。(原本在6的元素会被挤到后面去)
list2.InsertRange(2,arr);//将可迭代类型的值插入到索引为2的位置。(原来在2位置的元素会被挤到后面去)

删除元素

List使用Remove,RemoveAt,RemoveAll,RemoveRange方法来删除元素
在删除元素后,后面的内容会向前补齐。

list2.Remove(0);//遍历元素,直到找到第一个和这个元素相等的元素。移除他。如果真的找到并移除了就返回true
list2.RemoveAt(5);//移除指定索引处的元素
list2.RemoveAll(s=>s>5);//移除所有满足条件的元素
list2.RemoveRange(2,5);//从索引为2的位置开始,连续移除5个元素

访问元素

列表访问元素和数组一样,使用索引器进行访问。
但不能超过元素数量(不是数组长度)。
在构造器填入的数字是初始数组的长度。
列表的原理其实是帮你管理并自动扩容一个数组。

list2[2] = 16;
int i1 = list2[3];

遍历

列表使用Count属性代替数组的Length验证条件。

for (int i = 0; i < list2.Count; i++)
{Console.WriteLine(list2[i]);
}

只有数组才有长度一说,他创建就是以长度为准,不可更改,在内存中以一个整块存在。
这些复杂数据结构只会说元素数量(Count)。因为他们可能是零散的。

设置容量

列表在没包含任何元素时,所有同泛型的列表会共用一个长度为0的数组。
在需要扩容的时候,创建一个容量翻倍(且至少为4)的数组。
意味着如果多次扩容也会有很高的性能损失。
所以建议在创建列表时尽量预判需要的长度。

Console.WriteLine(list2.Capacity);//背后数组的长度,可以获取或设置。但不能设置小于当前元素数量的值
list2.TrimExcess();//如果元素数量小于数组长度的90%,裁剪数组使得和元素数量匹配
list2.Clear();//清空元素。这不会改变后背数组的长度。

方便的方法

List有很多和Linq功能相似的方法,可以直接使用而无需调用Linq。

list2.Sort();//list可以直接调用排序方法,而无需像数组一样使用数组基类调用
list2.Sort((a, b) => b - a);//虽然没有降序方法,但你可以使用委托自定义排序list2.Reverse();//反转整个列表list2.IndexOf(5);//查找和参数相同的第一个元素。并返回他的索引。如果找不到返回-1
list2.FindIndex(s => s > 5);//找到第一个满足条件的元素,返回他的所有,如果没找到返回-1list2.Contains(3);//判断是否存在这样的元素
list2.Find(s=>s>5);//找到第一个满足条件的元素,并返回
list2.FindAll(s => s > 5);//找到所有满足条件的元素,构成一个新的List返回list2.Foreach(s => Console.WriteLine(s++));//遍历所有元素并执行一个委托。
//相较于自己调用foreach循环,区别在于临时变量是可以修改的(不会影响原元素)。
//并且委托的return只是用来结束委托的。而foreach循环中return会结束当前方法。
http://www.yayakq.cn/news/269346/

相关文章:

  • 比较有设计感的网站快递查询网站建设
  • 中小企业做网站推广有哪些网站做的很好
  • 企业网站的总体设计网站开发主页
  • 设计师必看的10个网站制作网页教程的方法
  • 搜索网站定制公司聊城手机网站
  • 哪个网站可以做制图兼职apsx做的网站怎么发布
  • 遵义企业网站建设网站打开速度慢wordpress
  • 宇泽佛山网站建设中企动力销售岗位怎么样
  • 网站建设与维护考试题网站中数据库教程
  • 自己做的网站背景怎么设置建设网站的技术方案是啥
  • 毅冰做外贸是哪个网站宽屏网站模板企业源码
  • 宿州高端网站建设公司哪家好做店铺装修的公司网站
  • 杰奇网站地图插件建设推广站网站方案
  • 成为网站有哪些网址?可以做推广东西的网站
  • 优化网站标题网站结构及内容建设策略
  • 什么叫网站开发南海大良网站建设
  • php做电子商务网站的种类无水印logo在线制作免费
  • 网站建设如何做报价台州企业网站建设
  • 佛山论坛建站模板wordpress网站价格
  • 鹤壁市淇滨区建设局网站集团网站 wordpress
  • 网站不让百度收录海南响应式网站建设制作
  • 网站白名单查询网站建设 主要学是么
  • 做百度推广送的网站友妙招链接
  • 邯郸做网站推广费用成都十大装修品牌装修公司
  • 家具网站建设规划书网页游戏公益服
  • 外贸网站高端定做社交网站的优点和缺点
  • 百度网站站长汕头市建设信息网
  • 给几个手机网站wordpress在哪注册
  • 雄安免费网站建设公司如何使网站能被百度搜到
  • 购物网站流量怎么做wordpress文章推荐