C# 数组——新手教学宝典

1 篇文章 0 订阅

本文章可配合下方链接的视频配套学习,如果都能看懂就没必要去下载了😁不过视频更全面一些。感谢大家支持!!
由于数组需要讲的东西太多,博客我分为多个章节讲解。

第一章、一维数组

1.1 数组的定义

int[] arr; //--整形一维数组a
double[] arr_d; //--双精度一维数组b
string[] arr_s; //--字符串一维数组c
//...

1.2 数组的初始化

1.2.1 数组的动态初始化

仅确定数组的长度,每个位置的数字都为0

//动态初始化一维数组
int[] arr = new int[2];
string[] arr_s = new string[2];

1.2.2 数组的静态初始化

静态初始化中数组每一个位置的值都会赋好

//静态初始化一维数组
int[] arr = { 1, 2};
int[] arr1 = new int[]{ 3, 4};

注意事项:

  • 数组的长度是固定的值,不能是一个变量。 如:
    int i=2;
    int a = new int[i]{1,2};

    这样的写法是错误的
  • 只有当数组没有给初始值时长度才能用变量 如:
int i=2;
int a = new int[i];
  • 数组要想使用必须初始化。

1.3 数组的赋值

数组的赋值有很多方法,以下展示几种较为常用的

//给数组中某一个数字单独赋值
int[] arr1 = new int[3];
arr1[0] = 1;

//在初始化中直接赋值
int arr2 = new int[] { 11, 22, 33};

//直接赋值,初始化隐藏
int arr3 = { 44, 55 ,66};

//数组长度为5,第4个数赋值为1
int[] arr4 = 

1.4 数组的增删改查

数组的增删改查需要用到 using System.Collections;
数组也必须是 ArrayList类 而不能用 int 或其他的。

using System;
using System.Collections;

namespace Array
{
    class Program
    {
        static void Main(string[] args)
        {

            ArrayList array_list = new ArrayList();

            //增
            array_list.Add(888);

            array_list.Add(6);

            array_list.Add(66);

            array_list.Add(666);

            array_list.Insert(0, 99);//将元素(99)插入ArrayList的指定索引(第一位)处

            //删
            array_list.RemoveAt(2);//移除指定索引(第二位)处的数据

            array_list.Remove("888");//移除特定对象的第一个匹配项

            //改
            array_list[3] = 222;

            //查
            bool b = array_list.Contains(99);
            Console.WriteLine(b);

            //遍历ArrayList方法一for
            for (int i = 0; i < array_list.Count; i++)
            {
                Console.Write(array_list[i] + ",");
            }
            Console.WriteLine();

            //遍历ArrayList方法二foreach
            foreach (var ob in array_list)
            {
                Console.Write(ob + ",");
            }

        }
    }
}

1.5 数组的排序

1.5.1 用for循环手动排序

比如:冒泡排序 等多种排序方法

冒泡排序在我的微博中写过,大家可以打开链接具体观看,这里只展示核心代码:

for (int i = 1; i < arr.Length; i++)
{
	for (int j = 0; j < arr.Length - i; j++)
	{
		if (arr[j]>arr[j+1])
		{
			int l1 = arr[j];
			arr[j] = arr[j + 1];
			arr[j + 1] = l1;
		}
	}
}

1.5.2 用ArrayList类 自动排序

不管是什么排序,底层逻辑都是比较大小然后交换位置

        ArrayList array_list = new ArrayList();
        array.Add(888);
        array.Add(6);
        array.Add(66);
        array.Add(666);
        
		array.Sort();
		//输出array_list结果为由小到大

1.6 ArrayList类的常用方法

方法说明使用
Add将对象添加到后面array_list.Add(10)
AddRange将一批元素添加到当前列表的末尾array_list.AddRange(数组名)
Insert将元素插入指定索引处,后面的元素依次往后移动array_list.Insert(1, “元素”)
Remove移除特定对象的第一个匹配项array_list.Remove(1)
RemoveAt移除指定索引处的元素array_list.RemoveAt(2)
RemoveRange移除一定范围的元素array_list.removeRange(起始索引,删除的个数)
Sort对元素进行排序array_list.Sort()
Clear移除所有元素array_list.Clear()
ToArray将元素复制到新数组中array_list.ToArray()
Contains确定元素是否存在int_list.Contains(123)

1.7 数组的遍历

            //遍历ArrayList方法一for
            for (int i = 0; i < array_list.Count; i++)
            {
                Console.Write(array_list[i] + ",");
            }
            Console.WriteLine();

            //遍历ArrayList方法二foreach
            foreach (var ob in array_list)
            {
                Console.Write(ob + ",");
            }

下一章、二维数组(暂无)

教学视频地址:👇

CSDN下载(0积分、含代码)
腾讯视频观看
后续观看地址有待上传

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值