zoukankan      html  css  js  c++  java
  • 第17节、C#数组

    1、C#数组(Array)

    简述:数组是一个存储相同类型有序集合,数组是用来存储数据的集合,数组中的每项都按索引进行访问,索引是要给数字,用于设置对象子数组中的存储位置。

    1.1声明数组语法:

    datatype[] arrayName;
    
    • datatype用于指定被存储在数组中的元素类型。
    • [ ]指定数组的秩(维度),秩指定数组的大小。
    • arrayName 指定数组的名称。

    例如:

    double[] arrayStrudent;
    

      1.2初始化数组

    声明一个数组不会在内存中初始化数组,初始化数组变量是,你可以赋值给数组,数组是一个引用类型,所以需要使用New关键字创建数组实例。

    例如:

    int[] numberArr=new int[5];
    string[] strArr=new String[5];
    

      1.3赋值给数组

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        public class 数组
        {
            public static void Main(string[] age)
            {
            }
            public void Get()
            {
                #region 赋值给数组
    
                //1、可以通过使用索引号赋值给单独数组元素,示例:
                int[] numberArr = new int[5];//固定数组长度的
                numberArr[0] = 100;
    
                //2、可以在声明数组的同时给数组赋值,示例:
                int[] numberArr2 = { 10, 20, 30, 40, 50 };//初始化值长度解决数组长度
    
                //3、可以创建并初始化一个数组,示例:
                int[] numberArr3 = new int[5] { 11,12,13,14,15};//什么固定长度数组并且初始化赋值了
    
                //4、以上情况,可以省略数组的大小,示例:
                int[] numberArr4 = new int[] { 11, 22, 33, 44, 55 };//声明的数组可以省略固定长度,后面初始化的值决定数组大小
    
                #endregion
            }
        }
    }

    1.4访问数组元素

    元素是通过带索引数组名称来访问的

     注意一、索引超出数组界限错误

    由于数组下标从0开始,所以访问索引最大是数组最大长度-1

    2、多维数组

    简述:数组中的每个数据都由多个元素组成,这样的数组称为多维数组。

    2.1多维数组定义

    数据类型[,,...]数组名;
    
    //创建多维数组初始化
    数组类型[,,...]数组名=new 数据类型[m,n,..]{,,...},{,,...};
    

      示例:同学的英语、数学、语文成绩分数

    #region 多维数组 要求:输出学生的数学、语文、英语成绩
                //定义数组
                int[,] student = {{11,22,33},{22,22,33} };
                for (int i = 1; i <= student.GetLength(0);i++ )
                {
                    Console.WriteLine("第{0}位同学数学、语文、英文成绩分别如下:",i);
                    for (int j = 1; j <= student.GetLength(1);j++ )
                    {
                        Console.WriteLine(student[i-1,j-1]);
                    }
                }
    
                #endregion
    View Code

    3、锯齿型数组

    也称为数组中的数组

    数组类型[][] 数组名=new 数组类型[数组长度][]

    示例: 输渣男们的女朋友名字

     完整代码如下:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     public class 数组
    10     {
    11 
    12         public static void Main(string[] age)
    13         {
    14             数组 d = new 数组();
    15             d.Get();
    16             Console.ReadLine();
    17         }
    18 
    19 
    20         public void Get()
    21         {
    22             #region 声明数组+赋值+输出
    23             ////声明
    24             //int[] intArr = new int[10];
    25             ////索引初始化
    26             //for (int i = 0; i < intArr.Length; i++)
    27             //{
    28             //    intArr[i] = i *2;
    29             //}
    30 
    31             ////通过索引位置访问数组元素值,示例:范围第二个元素值
    32             //Console.WriteLine("通过索引访问数组第二个值{0}",intArr[1]);
    33 
    34             ////通过循环遍历数组所有元素
    35             //Console.WriteLine("遍历数组开始:");
    36             //for (int k = 0; k < intArr.Length;k++ )
    37             //{
    38             //    Console.WriteLine("intArr数组第【{0}】个元素的值是【{1}】", k + 1, intArr[k]);
    39             //}
    40 
    41             #endregion
    42 
    43             #region 赋值给数组
    44 
    45             //1、可以通过使用索引号赋值给单独数组元素,示例:
    46             int[] numberArr = new int[5];//固定数组长度的
    47             numberArr[0] = 100;
    48 
    49             //2、可以在声明数组的同时给数组赋值,示例:
    50             int[] numberArr2 = { 10, 20, 30, 40, 50 };//初始化值长度解决数组长度
    51 
    52             //3、可以创建并初始化一个数组,示例:
    53             int[] numberArr3 = new int[5] { 11,12,13,14,15};//什么固定长度数组并且初始化赋值了
    54 
    55             //4、以上情况,可以省略数组的大小,示例:
    56             int[] numberArr4 = new int[] { 11, 22, 33, 44, 55 };//声明的数组可以省略固定长度,后面初始化的值决定数组大小
    57 
    58             #endregion
    59 
    60             #region 多维数组 要求:输出学生的数学、语文、英语成绩
    61             ////定义数组
    62             //int[,] student = {{11,22,33},{22,22,33} };
    63             //for (int i = 1; i <= student.GetLength(0);i++ )
    64             //{
    65             //    Console.WriteLine("第{0}位同学数学、语文、英文成绩分别如下:",i);
    66             //    for (int j = 1; j <= student.GetLength(1);j++ )
    67             //    {
    68             //        Console.WriteLine(student[i-1,j-1]);
    69             //    }
    70             //}
    71 
    72             #endregion
    73 
    74             #region 要求:输渣男们的女朋友名字
    75             //声明二维数组并且初始化赋值
    76             string[][] SG_NPY = { new string[] { "小美", "小爱", "小妞" }, 
    77                                   new string[] { "小甜", "小妹" }, 
    78                                   new string[] { "笑笑", "幽幽", "优优", "小熊" },
    79                                   new string[] { "小爱", "小美", "小熊" } };
    80 
    81             //循环二维数组
    82             for (int i = 0; i < SG_NPY.Length;i++ )
    83             {
    84                 Console.Write("第{0}位渣男的女朋友名字:", i);
    85                 string strName = string.Empty;
    86                 for (int j = 0; j < SG_NPY[i].Length;j++ )
    87                 {
    88                     if (string.IsNullOrEmpty(strName))
    89                         strName = SG_NPY[i][j];
    90                     else
    91                         strName +=""+SG_NPY[i][j];
    92                 }
    93                 Console.Write(strName);
    94                 Console.WriteLine();
    95             }
    96             #endregion
    97         }
    98     }
    99 }
    View Code

     4、数组常用的方法

    方法 描述
    Clone 创建数组的浅表副本
    Copy 将某数组内的元素复制到另外一个数组中
    CopyTo 将当前一维数组的元素复制到另外一个数组中
    GetLength 设置数组指定维度的元素
    IndexOf 返回一维获取数组或部分数组中某个匹配项的索引
    LastIndexOf 返回数组中某匹配项的最后一个索引
  • 相关阅读:
    关于TFS中WorkItem的探究
    Pro Android4 面试题归纳
    truncate 、delete、drop
    获取数据库中所有表的行数及其他信息
    【转】高手速成android开源项目【View篇】
    Can't create handler inside thread that has not called Looper.prepare()解决办法
    Android使用获取HTML
    .net操作EXCEL
    ASP.NET发送邮件
    如何使用 MasterPage
  • 原文地址:https://www.cnblogs.com/liuzz/p/14533009.html
Copyright © 2011-2022 走看看