1.一维数组及其遍历
int[] a = {11,22,33,44 };
int[] b = new int[4] {11,22,33,44 };
for (int i = 0; i < a.Length; i++) Console.WriteLine(a[i]);
for (int i = 0; i < b.Length; i++) Console.WriteLine(b[i]);
int[] a 定义一个数组
可以直接用集合{}往里面塞东西
也可以用new初始化,中括号[]确定规模,花括号{}直接塞东西
.Length 获得数组长度
2.二维数组及其遍历
int[,] a = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[,] b = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++) Console.Write(a[i, j] + " ");
Console.WriteLine();
}
for (int i = 0; i < b.GetLength(0); i++)
{
for (int j = 0; j < b.GetLength(1); j++) Console.Write(b[i, j] + " ");
Console.WriteLine();
}
Console.Write("总大小为{0}", a.Length);
int[,] a 定义一个二维数组
可以直接用集合{{},{},{}}往里面塞东西
也可以用new初始化,中括号[,]确定规模,花括号{{},{},{}}直接塞东西
.Length 获得数组长度
.GetLength(0) 获得数组行长度
.GetLength(1) 获得数组列长度
3.列表及其方法
List<int> a = new List<int>() {11,22,33,44 };
int[] temp = { 11, 22, 33, 44 };
List<int> b = new List<int>(temp);
for (int i = 0; i < a.Count; i++)
{
Console.WriteLine(a[i]);
}
for (int i = 0; i < b.Count; i++)
{
Console.WriteLine(b[i]);
}
a.Add(55);
a.Insert(0, 114514);
b.Remove(11);
b.RemoveAt(1);
for (int i = 0; i < a.Count; i++)
{
Console.WriteLine(a[i]);
}
for (int i = 0; i < b.Count; i++)
{
Console.WriteLine(b[i]);
}
List<int> a 定义一个列表
用new初始化,小括号()里面可以放入数组对列表进行初始化,花括号{}可以往里面塞东西
.Count可以获得列表长度
Add() 在列表后面追加
Insert(位置,元素)在指定位置插入元素
Remove(元素)删除第一个遇到的元素
RemoveAt()删除指定位置的元素
4.多类列表
ArrayList a = new ArrayList() { "小红", 114514, 3.14f };
ArrayList a 定义一个多类列表
方法和列表差不多,只不过多类列表可以接受不同类型的数据。
用new初始化,小括号()里面可以放入数组对列表进行初始化,花括号{}可以往里面塞东西
.Count可以获得列表长度
Add() 在列表后面追加
Insert(位置,元素)在指定位置插入元素
Remove(元素)删除第一个遇到的元素
RemoveAt()删除指定位置的元素
5.字典
Dictionary<string, int> a = new Dictionary<string, int>() { {"小红",95 },{"小蓝",100
},{"小绿",60 },{"小黄",35 }};
a["小白"] = 114514;
a.Add("小黑",0);
foreach (var item in a) Console.WriteLine(item);
a.Remove("小黑");
foreach (var item in a) Console.WriteLine(item);
Console.WriteLine(a.Count);
Dictionary<键的类型,值的类型> a 定义一个字典
通过new来初始化,花括号{}可以往里面塞东西
通过 ”a[键]=值“ 索引的方式添加键值对
Add(键,值) Add()方法添加键值对
Remove(键) 删除键值对
.Count 获取字典的长度
6.栈
Stack<int> a = new Stack<int>();
a.Push(11);
a.Push(22);
a.Push(33);
a.Push(44);
Console.Write(a.Peek());
Console.WriteLine(a.Pop());
Console.WriteLine(a.Pop());
Console.WriteLine(a.Contains(44));
Stack<int> b = new Stack<int>(a.ToArray());
int[] c = a.ToArray();
Console.WriteLine(a.Count);
Console.WriteLine(b.Count);
for (int i = 0; i<= b.Count; i++) Console.WriteLine(b.Pop());
for (int i = 0; i < c.Length; i++) Console.WriteLine(c[i]);
Stack<数据类型> a 定义一个栈
用new方法对其进行初始化
Push() 压栈
Pop() 弹栈
Peek() 读取不弹栈
Contains(元素) 判断元素是否在栈里
ToArray() :
(1)Stack<int> b = new Stack<int>(a.ToArray());
初始化的时候使用,相当于将一个栈弹出再压入另一个栈里,顺序会颠倒
(2)int[] c = a.ToArray();
给数组赋值,顺序是从栈顶到栈底
.Count 获取栈的长度
7.队列
Queue<int> a = new Queue<int>();
Queue<数据类型> a 定义一个队列
用new方法对其进行初始化
Enqueue() 入队
Dequeue() 出队
Peek() 读取不出队
Contains(元素) 判断元素是否在栈里
ToArray() :
(1) Queue<int> b= new Queue<int>(a.ToArray());
初始化的时候使用,拷贝作用,顺序不改变
(2)int[] c = a.ToArray();
给数组赋值,顺序是从队头到队尾
.Count 获取队列长度
注:遍历栈或者队列的时候,尽量用while循环,for循环会出差错。