在c#中. 删除数组中的一个数,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#中. 删除数组中的一个数,相关的知识,希望对你有一定的参考价值。

1. 删除数组中的一个数,如
[1,2,8,6,5,5,9]删除8之后应该是
[1,2,6,5,5,9]数字8没了,同时数组的长度缩短了
要求必须使用数组实现

class Program

static void Main(string[] args)

int num = 2;//要删除元素的下标
int[] arr=new int[] 1,2,8,6,5,5,9 ;
Console.WriteLine("删除前该数组的长度:0", arr.Length);
foreach (int a in arr)

Console.Write(a + "\t");
arr = DeleteArr(num, arr);//调用删除方法

Console.WriteLine("\n删除后该数组的长度:0", arr.Length);
foreach (int a in arr)

Console.Write(a + "\t");


//通过下标删除数组方法
private static int[] DeleteArr(int num, int[] arr)

List<int> list = new List<int>();
foreach (int i in arr)

list.Add(i);//把数组的每一个元素保存到一个集合中

list.Remove(num);//根据集合删除指定下标的元素
arr = new int[list.Count];//重新new一个数组
for (int j = 0; j < list.Count; j++)

arr[j] = list[j];//把删除后的集合每一个保存到该数组

return arr;//返回该数组

试试~
参考技术A 如果是3.5以上框架可以这样: var arrOld = new int[] 1, 2, 8, 6, 5, 5, 9 ; //- 删除8这个数 var arrNew = arrOld.Where(x => x != 8).ToArray(); 在VS2008下亲测,绝对可用

java如何删除掉数组中的某个元素??

比如一个数组:String arrays="1","2","3","5",“6”;
for(String s:arrays)
if(s.equals("2"))
//移除掉元素2



String str = dianjia2,wang,dianjia;
String str1 = dianjia2,dianjia;
如上面两个字符串,如何根据str1的字段来删除str中相同的字段,最后得到的结果是wang.
解决代码:
public static void main(String[] args)
String[] a = new String[]"1","5","3","7";
String[] b = new String[]"2","3","4";
String[] arrResult = arrContrast(a, b);
for (String strResult : arrResult)
System.out.println("最后的结果:----------->" + strResult);



//处理数组字符
private static String[] arrContrast(String[] arr1, String[] arr2)
List<String> list = new LinkedList<String>();
for (String str : arr1) //处理第一个数组,list里面的值为1,2,3,4
if (!list.contains(str))
list.add(str);


for (String str : arr2) //如果第二个数组存在和第一个数组相同的值,就删除
if(list.contains(str))
list.remove(str);


String[] result = ; //创建空数组
return list.toArray(result); //List to Array
参考技术A String[] arrays="1","2","3","5","6";
String[] tempArr = new String[arrays.length];
int i = 0;
for(String s:arrays)
if(!s.equals("2"))
tempArr[i] = s;
i++;


for(int j = 0; j < tempArr.length; j++)
System.out.println(tempArr[j]);


// 数组本身是不可以移除元素的 但可以通过中间变量来实现数组的移除
参考技术B 数组是不可以进行删除的
你可以转换成为 ArrayList 然后进行删除 然后再返回一个数组
参考技术C 设成null,从后往前移一位 参考技术D public static void main(String[] args)
String[] arrays="1","2","3","5","6";
for (int i = 0; i < arrays.length; i++)
if("2".equals(arrays[i]))
//移除掉元素2
for (int j = i+1; j < arrays.length; j++)
arrays[i]=arrays[j];




本回答被提问者采纳

以上是关于在c#中. 删除数组中的一个数,的主要内容,如果未能解决你的问题,请参考以下文章

C# 改变数组中某个指定元素的值

C# 改变数组中某个指定元素的值

在java中,怎么从一个数组中删除一个数啊

java中 如何在一个数组中删除里面的元素

c#在数组中查找数据

c#如何查询数据库中表的一列数据并赋值给一个数组