zoukankan      html  css  js  c++  java
  • 数组集合

    1.变量是程序运行时在内存中存储可变数据的容器

    2.数组特点:长度固定,类型相同

    3.数组是用于存储长度固定的,类型相同的变量的容器

    4.数组的分类:一位数组,多维数组,不规则数组

    5.数组的应用:创建  赋值  应用

    6.集合用于存储类型不固定,长度可动态添加元素的容器

    7.动态数组(ArrayList)它代表了可被单独索引的对象的有序集合

    8.哈希表(Hashtable)他是用键来访问集合中的元素

    9.排序列表(SortedList)用于处理和表现类似key value的键值对,它可以使用键和索引来访问列表中的项

    10.堆栈(Stack)约等于栈  它代表了一个后进先出(先进后出)的对象集合

    11.队列(QUeue)约等于堆  他代表了一个先进先出的对象及合

    12.点阵列(BitArray) 

    13:System.Collection 命名空间的类
         (1)动态数组(ArrayList):动态数组(ArrayList)    它代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
         (2)哈希表(Hashtable):它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。
         (3) 排序列表(SortedList):用于处理和表现类似key value的键值对,它可以使用键和索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。
         (4)堆栈(Stack):它代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
         (5)队列(Queue):它代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。

    Array:所有数组的基类。
    Rank:获取数组维度。
    Reverse(Array):逆转整个一维数组中元素的值。
    Params[]:参数数组。(可变参数)。

    交叉数组是数组的数组

    Array类提供了各种数组的属性和方法

    在c#中您可以传递数组作为函数的参数
    在使用数组作为形参时C#提供了params关键字,调用数组作为形参的方法时既可以传递数组实参,也可以值传递一组数组。

    BCL中集合类型分为泛型集合和非泛型集合
     
    //数组的第一种定义方式
                string[] values = { "123", "22", "2123", "333" };
    
                //数组的第二种定义方式
                int[] nums = new int[3];
                //数组赋值
                for (int i = 0; i < nums.Length; i++)
                {
                    nums[i] = i;
                }
    //二维数组定义
                int[,] intArry = new int[3, 3] { { 2, 3, 3 }, { 3, 4, 5}, { 5, 6, 7 } };
                //intArry = new int[2,3] ;
                int nums1 = intArry.GetLength(1);
    
                Console.WriteLine(nums1);
                for (int i = 0; i < intArry.Length; i++)
                {
                    Console.WriteLine("222");
                }
                for (int i = 0; i < intArry.GetLength(0); i++)
                {
                    for (int j = 0; j < intArry.GetLength(1); j++)
                    {
                        Console.Write(intArry[i, j] + "  ");
                    }
                    Console.WriteLine();
                }
    //三维数组           
     int[,,] numsss = new int[2, 3, 4] {
                    {
                        { 1, 2, 3, 4 },
                        { 5, 6, 7, 8 },
                        { 9, 10, 11, 12 }
                    },
                    {
                        { 13, 14, 15, 16 },
                        { 17, 18, 19, 20 },
                        { 21, 22, 23, 24 }
                    }
                };
                int[,,,] numssss = new int[2, 3, 4, 5] {
                    {
                        {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        },
                        {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        },
                        {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        }
                    }, {
                         {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        },
                        {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        },
                        {
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 },
                            { 1, 2, 3, 4, 5 }
                        }
                    }
                };
                Console.WriteLine(numssss.Length);
                for (int i = 0; i < numssss.Length; i++)
                {
                    int j = numssss[0, 0, 0, 0];
                }
    //交错代码
    int
    [][] scores = new int[5][]; for (int i = 0; i < scores.Length; i++) { scores[i] = new int[i+2]; }
    //参数数组
                MyClass myClass = new MyClass();
                myClass.Print();
                myClass.Print("易先鹏");
                myClass.Print("鲁长秋", "王剑飞");
                myClass.Print("陈启跃", "张晨熹", "王晓静");
                string[] names = new string[3] { "陈启跃", "张晨熹", "王晓静" };
                myClass.Print(names);
    
    
    //队列
                Queue queue = new Queue();
                queue.Enqueue("易先鹏");   //入列
                queue.Enqueue("王剑飞");   //入列
                queue.Enqueue("鲁长秋");   //入列
                queue.Enqueue("王金鑫");   //入列
                Console.WriteLine(queue.Count);
                int length1 = queue.Count;
                for (int i = 0; i < length1; i++)
                {
                    string names = queue.Dequeue().ToString(); //出列
                    Console.WriteLine(names);
                }
                Console.WriteLine("队列所剩人数:"+ queue.Count);
    //堆栈
                Stack stack = new Stack();
                stack.Push("易先鹏");
                stack.Push("王剑飞");
                stack.Push("鲁长秋");
                Console.WriteLine(stack.Count);
                //取堆栈的元素
                string name1 = stack.Peek().ToString();
                Console.WriteLine(name1);
                int length = stack.Count;
                for (int i = 0; i < length; i++)
                {
                    string names = stack.Pop().ToString();
                    Console.WriteLine(names);
                }
                Console.WriteLine(stack.Count);
    
    
  • 相关阅读:
    WPF 获取本机所有字体拿到每个字符的宽度和高度
    WPF 自己封装 Skia 差量绘制控件
    WPF 漂亮的现代化控件 新 ModernWPF 界面库
    dotnet 在 UOS 国产系统上使用 MonoDevelop 创建 GTK 全平台带界面应用
    dotnet 在 UOS 国产系统上使用 MonoDevelop 进行拖控件开发 GTK 应用
    dotnet 在 UOS 国产系统上安装 MonoDevelop 开发工具
    通过java采集PC麦克风音频及播放wav音频文件
    nginx-http之ssl(九)
    nginx-http之proxy(八)
    nginx-http之upstream(七)
  • 原文地址:https://www.cnblogs.com/wxj2/p/11142303.html
Copyright © 2011-2022 走看看