c#比较AB两个的数组;,B数组属于A数组,取出A数组中不同的元素,放入一个Arraylist中

作者&投稿:佘宇 (若有异议请与网页底部的电邮联系)
C#数组中,把相同的元素提取出来,放入另一个数组中~

这个时候最好使用List或ArrayList(system.collection).
使用数组也可以做出来。
另外,如果只是单个字符的还可以使用string来做。
下面只给出List的求解办法。//空手写的,你自己去调试,不过一般没错的
string[] array=new string[]{ "7","4","7","1","4","1","5","2","5"}
List strList0=new List();//原始数据
List strList1=new List();//数组一,Array1
List strList2=new List();//数组二,Array2
for(int i=0;i<array.Length;i++)
{
strList0.Add(array[i]);//复制到原始集合中
}

for(int i=0;i<strList0.Count;i++)
{
if(!strList1.Contain(strList0[i]))
{
//去掉重复的写入数组一
strList1.Add(strList0[i]);
}
}
//数组2的获取采用这样的算法,如果有相同的那么IndexOf和LastIndexOf的地址会不同因此可以这样写。

for(int i=0;i<strList1.Count;i++)
{
if(strList0.IndexOf(strList1[i])!=strList0.LastIndexOf(strList1[i])){
strList2.Add(strList1[i]);
}
}

//如果是int类型只要把string改为int就行了。
//使用循环将值付给数组

按你的意思,先判断数组是否含有相同的元素数,如果相同则取元素的数为n,再进行下面操作。
数组为A,B。先对两个数组进行排序。
//排序的函数
using System;
namespace SelectionSorter
{ public class SelectionSorter
{ private int min;
public void Sort(int [] list)
{ for(int i=0;i<list.Length-1;i++)
{ min=i;
for(int j=i+1;j<list.Length;j++)
{ if(list[j]<list[min])
min=j;
}
int t=list[min];
list[min]=list[i];
list[i]=t;
} }
}
//实行排序的代码
int[] A=new
int[]{元素};//假设是int类型,A是所给数组,B同理
SelectionSorter ss=new SelectionSorter();
ss.Sort(A);
for(int m=0;m<A.Length;m++)
Console.Write("{0} ",A[m]);
Console.WriteLine();
//排序后获得新的A,B
for (int i = 0,int x=0;i < n; i++) {
if(A[i]=B[i]) x=x+1;
}
if(x=n)
Console.WriteLine("两数组元素相同");
else
Console.WriteLine("两数组元素不相同");
}

你好,如下代码可以解决你的问题,希望对你有帮助。
string[] A = new string[] { "1", "a", "58", "GH", "3", "bc" };
string[] B = new string[] { "58", "3", "a" };
ArrayList list = new ArrayList();
for (int i = 0; i < A.Length; i++)
{
bool isT = true;
for (int j = 0; j < B.Length; j++)
{
if (A[i] == B[j])
{
isT = false;
break;
}
}
if (isT)
list.Add(A[i]);
}


湘乡市13314554733: C#编写一个方法,比较两个数组a和b(都有十个元素)看他们是否有完全相同的值 -
皮崔替他: //调用 string [] arr1 = new string [] {"1","2","3","4","5"}; string [] arr2 = new string [] {"1","2","3","4","8"}; bool result = CompareArrs(arr1, arr2);/// <summary> /// 比较两个数组是否完全一致 /// </summary> /// <param name=...

湘乡市13314554733: C#中定义两个长度为10一维数组A和B,并初始化,比较两数组中的元素是否相同 -
皮崔替他: public void szbj(string[] a,string[] b) {//初始化数组元素 int length=a.length(); int k=0;for(int i=0;i { if(!(a[i].equals(b[i]))){ //楼上的用a[i]!=b[i]不管它们的值是否相等结果都是false,上面声明的数组类型为字符型,而字符型中的==表示两数据是否指向同一内存地址 k=1; break; } } if(k==1) //无素a[k]与b[k]不相等 else //两数组无素相等 }

湘乡市13314554733: 假设有两个数组a[5][5]和b[6][6],如何用C#编程实现a数组中的数据与b数组中的数据互相一一做对比 -
皮崔替他: c# 中二维数组应该是 a[5,5]int[,] a=new int[5,5]; int[,] b = new int[6, 6]; //数组赋值略 for (int i = 0; i{ for (int j = 0; j{ for (int p = 0; p{ for (int q = 0; q{ int x = Math.Abs(a[i, j] - b[p, q]); if (x > 20) { a[i, j] = x; } } } } }

湘乡市13314554733: 请教c#中两个数组的比较 -
皮崔替他: 其实数据比较这类问题想要不使用for循环根本不现实,在微软封装的.net类库中他去实现的时候也是通过循环实现,只不过这部分代码对你来说不可见而已,你可以编写自己的方法来实现比较,对外只提供一个函数,例如用扩展方法来实现:...

湘乡市13314554733: C#问题,数组进行比较的问题
皮崔替他: 先循环遍历一个数组 然后在循环中遍历另一个 如 String []array1; String []array2; foreach(String str in array1){ foreach(String strIn in array2){ if(strIn.equals(str)){ //这里是判断有数据相等 执行要执行的代码 可以定义一个全局数组 将其放入数组中 } } } 只写了大概意思 具体步骤自己实现吧

湘乡市13314554733: C# 如何比较两数组元素是否相同,可能顺序不一致 例"A,B,C,D" 和 "A,B,D,C"
皮崔替他: 按你的意思,先判断数组是否含有相同的元素数,如果相同则取元素的数为n,再进行下面操作.数组为A,B.先对两个数组进行排序.//排序的函数using System;namespace SelectionSorter{ public class SelectionSorter{ private int min;public ...

湘乡市13314554733: C# 两组数比较问题 -
皮崔替他: 首先给你纠正个错误,上面的不叫数字类型,叫string类型 可以按位置取出字符进行比较 for(int I=0;i{ if(str1[i]==str2[i]) { //相同 } else { //不同 } } 以上方法要确保str1的字符数等于str2的字符数

湘乡市13314554733: 用C#比较大小为10的两个数组a和b,看是否有相同的数
皮崔替他: public class CompareTest {static bool CompareGroups(int[]a,int[]b){for(int i=0;i<a.Length;++i){if (a[i]==b[i]) return true;}return false;}static void Main(){int[] a={1,1,1,1,1,1,1,1,1,1};int[] b={2,2,2,2,2,2,2,2,2,1};if (CompareGroups(a,b)){...

湘乡市13314554733: 请教c#中两个数组的比较 -
皮崔替他: string.Compare(a.ToString(), b.ToString())==0相等

湘乡市13314554733: C#中2个数组比较不同元素 -
皮崔替他: 将数据写入到excel中去,用excel进行处理就很快了. int main() { int A[10]={1,2,3,4,5,6,7,8,9,10}; int B[10]={2,3,4,5,6,6,19,20,21,21}; FILE *fp = fopen("test.txt","w"); if (fp) { for (int i=0;i<10;i++) { fprintf(fp,"%d %d\n",A[i],B[i]); } fclose(fp); } system("pause"); return 0; } 再把图片中的数据ctrl+c然后ctrl+v放到excel中去判断比较.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网