C#两个数组消除相同的数据
- 提问者网友:美人性情
- 2021-03-08 13:49
int[] zhong={0,0,0,21,4,0,5,0,6,0,2,0,0,0,0,0,0,0,0,0,0,}
zong这个数组去掉 zhong里面有的数据
- 五星知识达人网友:杯酒困英雄
- 2021-03-08 14:03
int[] zhong= { 0,4,5,6 };
List<int> result= new List<int>();
foreach(int a in zong)
{
if(!zhong.Contains(a))
result.Add(a);
}
zong=new int[result.Count]; //重新设置长度
result.CopyTo(zong); //将List结果复制到数组zong中;
- 1楼网友:逐風
- 2021-03-08 15:52
- 2楼网友:忘川信使
- 2021-03-08 14:49
参考我的类似代码:
如果你用的是vs2008或者以上版本,建议使用扩展方法封装一个list比较方法,快速可以比较出两个list之间有多少元素相同或者不同,比如:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace consoleapplication1
{
static class myextender
{
public static ienumerable<t> getdifferencecollection<t>(this list<t> collection, ilist<t> collection2) where t:icomparable<t>
{
list<t> result = new list<t>();
foreach (t item in collection2)
{
if (collection.find(delegate(t i) { return i.compareto(item) == 0; }).compareto(item)!=0)
{
result.add(item);
}
}
return result;
}
}
class program
{
static void main(string[] args)
{
list<int> numbers = new list<int>() { 1, 2, 3 };
list<int> numbers2 = new list<int>() {5, 1, 2, 3, 4 };
var result = numbers.getdifferencecollection<int>(numbers2);
foreach (var item in result)
{
console.writeline(item);
}
}
}
}