C# 常用的复合数据类型及其简单操作

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循环会出差错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值