🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **删除** Array.Clear(要删除的数组,删除的起始位置,删除元素的个数) ``` string[] arr = { "a", "b" }; Array.Clear(arr, 0, 1); ``` ### 自定义 **不改变数组长度的情况下** ``` using System; namespace ConsoleApp1 { class Program { public static void Main(string[] args) { string[] ArrStr = new string[] { "a", "b", "c", "d", "e", "f" }; deleteArr(ArrStr,0,4); foreach (string value in ArrStr) { Console.WriteLine(value+"#"); } Console.ReadLine(); } ///<summary> ///删除数组元素 ///</summary> ///<param name="ArrayBorn">要从中删除元素的数组</param> ///<param name="Index">删除索引</param> ///<param name="len">删除长度</param> ///<returns></returns> static void deleteArr(string[] ArrayBorn, int Index, int Len) { //删除的长度小于0则直接结束 if (Len < 0) return; //从头删除时的范围超出数组的长度则直接删除数组的长度 if (Index==0 && Len >= ArrayBorn.Length) { Len = ArrayBorn.Length; } else if ((Index+Len) >= ArrayBorn.Length) { //删除索引+删除的长度大于数组的长度时 将删除索引以后的长度设置为删除长度 Len = ArrayBorn.Length - Index - 1; } int i = 0; //遍历删除长度 for (i = 0; i < ArrayBorn.Length-Index-Len; i++) { //覆盖要删除的值 ArrayBorn[i + Index] = ArrayBorn[i + Len + Index]; } //遍历删除长度后面的数组元素值 for (int j =(ArrayBorn.Length-1); j > (ArrayBorn.Length-Len-1); j--) { ArrayBorn[j] = null; } } } } ``` 直接null也行,就是长度也不会变 ``` string[] ArrStr = new string[] { "a", "b", "c", "d", "e", "f" }; ArrStr[0]=null; ArrStr[1]=null; ArrStr[2]=null; ArrStr[3]=null; ``` 删除数组元素并修改长度 ``` using System; using System.Collections; using System.Text; namespace ConsoleApp1 { class Program { public static void Main(string[] args) { string[] ArrStr = new string[] { "a", "b", "c", "d", "e", "f" }; string[] newArr=DeleteArr(ArrStr,0,4); foreach (string value in newArr) { Console.WriteLine(value+"#"); } Console.ReadLine(); } ///<summary> ///删除数组元素 ///</summary> ///<param name="ArrayBorn">要从中删除元素的数组</param> ///<param name="Index">删除索引</param> ///<param name="len">删除长度</param> ///<returns>得到的新数组</returns> static string[] DeleteArr(string[] ArrayBorn, int Index, int Len) { //删除的长度小于0则直接返回原数组 if (Len < 0) return ArrayBorn; //从头删除时的范围超出数组的长度则直接删除数组的长度 if (Index==0 && Len >= ArrayBorn.Length) { Len = ArrayBorn.Length; } else if ((Index+Len) >= ArrayBorn.Length) { //删除索引+删除的长度大于数组的长度时 将删除索引以后的长度设置为删除长度 Len = ArrayBorn.Length - Index - 1; } //申明一个新数组 string[] temArray = new string[ArrayBorn.Length - Len]; //遍历删除长度 for (int i= 0; i < temArray.Length; i++) { if (i>=Index) { temArray[i] = ArrayBorn[i + Len]; } else { temArray[i] = ArrayBorn[i]; } } return temArray; } } } ```