unity游戏开发-C#语言基础篇(Array数组(一))

 class Program
    {
        static void Main(string[] args)
        {
            int[] arrA = new int[6] { 1, 2, 3, 4, 5, 6 };
            int[] arrB = { 4, 5, 6, 14, 15, 16, 18 };
            int[,] arr_1 = { { 1, 2, 3 }, { 4, 5, 6 } };//二维数组
            int[][] arr_2 = { new int[] { }, new int[] { }, new int[] { } };//交错数组
            //arrA.Rank 数组的维度
            //arrA.LongLength 数组所有维度的元素个数;
            //arrA.IsFixedSize 表示里面有元素;

            Console.WriteLine(arrA.Rank);
            Console.WriteLine(arrA.IsFixedSize);
            Console.WriteLine(arrA.IsReadOnly);
            //arrA.IsReadOnly 判断是否只读,返回布尔值;

            ShowClass.ShowArr(arrA, "改变前");
            Array.Clear(arrA, 1, 4);//把指定位置改为零 参数1:数组 参数2:下标 参数3:长度个数

            ShowClass.ShowArr(arrA, "改变后");


            bool[] arrT = new bool[] { true, false, true, false, true, true, true };

            ShowClass.ShowArrbool(arrT, "\n改变前:");
            Array.Clear(arrT, 1, 3);

            ShowClass.ShowArrbool(arrT, "\n改变后:");


            Array.Copy(arrA, arrB, 3);//把数组A相应长度个数复制数组B头部;参数1:被复制数组 参数2:要复制数组;参数3:要赋值数组的长度个数;


            ShowClass.ShowArr(arrB, "\n改变后");
            Array.Copy(arrB, arrA, 3);//练
            ShowClass.ShowArr(arrA, "\n改变后");

            ShowClass.ShowArr(arrB, "\n改变前");
            //int[] arrE = {11,22,33 };
            //arrE.CopyTo(arrB,2);//把一个数组赋值到另一个数组的相应下标位;注意数组长度;最大值:arrB-arrE;
            ShowClass.ShowArr(arrB, "改变前");

            //练
            int[] arr_A = { 1, 2, 3, 4, 5, 6 };
            int[] arr_B = { 8, 18, 28, 38, 48, 58, 68, 78, 88, 98, 108 };
            ShowClass.ShowArr(arr_B, "\n前");
            Array.Copy(arr_A, arr_B, 3);
            arr_A.CopyTo(arr_B, 3);
            ShowClass.ShowArr(arr_B, "\n后");

            Console.WriteLine(arr_B.GetValue(2));//获取相应下标位置的值;

            Console.WriteLine(Array.IndexOf(arr_B, 18));//寻找指定元素在数组第一次出现的下标;没有则返回-1;
            Array.IndexOf(arr_B, 108);
            Array.LastIndexOf(arr_B, 18);//寻找指定元素在数组最后一次出现的下标,没有返回-1;

            Console.WriteLine(ShowClass.ArrIndexOf(arr_B, 18));

            ShowClass.ShowArr(arr_B, "\n前: ");
            Array.Reverse(arr_B);//数组逆转
            arr_B.SetValue(888, 2);//设置数组相应下标位置的元素值 跟getValue向相对应
            ShowClass.ShowArr(arr_B, "\n后: ");


            //int[] arrE={33,36,66,23}; 转变为36,66,33,23

            int[] arrE = { 33, 36, 66, 23 };
            int[] arr_E = new int[arrE.Length];
            ShowClass.ShowArr(arrE, "\n前:");
            arrE.CopyTo(arr_E, 0);
            Array.Copy(arrE, 1, arr_E, 0, 2);
            Array.Copy(arrE, 0, arr_E, 2, 1);
            ShowClass.ShowArr(arr_E, "\n后:");

            Console.ReadKey();      
        }
    }
 class ShowClass
    {
        /// <summary>
        /// 一维数组显示 传字符串对比
        /// </summary>
        /// <param name="arr"></param>
        /// <param name="str"></param>
        public static void ShowArr(int[] arr, string str)
        {

            Console.Write(str);
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();
        }

        /// <summary>
        /// bool型显示
        /// </summary>
        /// <param name="arr"></param>
        /// <param name="str"></param>
        public static void ShowArrbool(bool[] arr, string str)
        {

            Console.Write(str);
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();
        }
        /// <summary>
        /// 二维数组显示
        /// </summary>
        /// <param name="arr"></param>
        public static void ShowArrerwei(int[,] arr)
        {
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    Console.Write(arr[i, j] + " ");
                }
                Console.WriteLine();
            }

        }

        /// <summary>
        /// 寻找第一次出现的下标
        /// </summary>
        /// <param name="arr"></param>
        /// <param name="a"></param>
        /// <returns></returns>
        public static int ArrIndexOf(int[] arr, int a)
        {
            int index = -1;
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] == a)
                {
                    index = i;
                    break;
                }


            }

            return index;

        }


        public static int ArrLastIndexOf(int[] arr, int a)
        {

            int index = -1;
            for (int i = arr.Length - 1; i > 0; i--)
            {
                if (arr[i] == a)
                {
                    index = i;
                    break;
                }
            }

            return index;
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容