学习这三者时有些困惑,觉得使用起来都可以达到目的,但是在开发中逐渐发现,在不同的情况下使用,对于运行速率是大有不同的,这也再一次告诫了自己,学习需要深刻理解,才能够掌握好知识点。
特将三者基础概念和异同点总结如下,望各位同道开发者不吝赐教,共同学习。
数组——对象数量较少且数量固定时优先考虑;
字典——需要进行频繁的搜索时优先考虑;
链表——对象数量是动态的且搜索不是优先选项时,需要经常增减节点的情况优先考虑;
数组:
①基础知识点:
1、下标从0开始;
int[], 元素的值默认都是0;
float[], 元素的值默认都是0;
double[],元素的值默认都是0.0;
string[], 元素的值默认都是null;
bool[], 元素的值默认都是false;
2、下标不可以越界;
3、数组名表示数组,不可以进行运算;
4、当需要对数组中的值进行操作时,使用for循环更好;单纯遍历,使用foreach更好。
②优点:
1、数组存储在连续的内存上,索引速度非常快;
2、访问一个元素的时间恒定,与数组的元素数量无关;
3、赋值或修改元素简单。
③缺点:
1、连续存储,在两个元素之间插入新的元素麻烦;
2、容易造成内存浪费(声明的长度过长)或溢出(声明的长度过短)的问题。
一维数组:
using System;
namespace Lesson01 {
class MainClass {
public static void Main ( string[] args ) {
//int[] intArray; 声明:数据类型 [] 数组名;
//intArray = new int [5]; 初始化:数组名 = new 数组类型 [数组长度]
int[] intArray = new int [5]; //声明和初始化二合一&#x