不考虑效率的话,最简单的就是双重循环for(int i=0;i<A.count;i++) { bool flag=false; foreach(object o in B) { if(o==A[i]) { flag=true; } } if(flag) B.Remove(***); else B.Add(***) }
string[] a = {"a","b","d"}; string[] b = {"b","c"}; ArrayList A = new ArrayList(); ArrayList B = new ArrayList(); ArrayList C = new ArrayList(); for ( int i = 0; i < a.Length; i++ ) { A.Add(a[i]); C.Add(a[i]); } for ( int i = 0; i < b.Length; i++ ) { B.Add(b[i]); } for ( int i = 0; i < B.Count; i++ ) { if ( A.Contains(B[i]) ) C.RemoveAt( C.IndexOf(B[i]) ); else C.Add( B[i] ); } string[] result = new string[C.Count]; for ( int i = 0; i < C.Count; i++ ) { result[i] = C[i].ToString(); }result为所求
{
bool flag=false;
foreach(object o in B)
{
if(o==A[i])
{
flag=true;
}
}
if(flag)
B.Remove(***);
else
B.Add(***)
}
string[] b = {"b","c"};
ArrayList A = new ArrayList();
ArrayList B = new ArrayList();
ArrayList C = new ArrayList();
for ( int i = 0; i < a.Length; i++ )
{
A.Add(a[i]);
C.Add(a[i]);
}
for ( int i = 0; i < b.Length; i++ )
{
B.Add(b[i]);
}
for ( int i = 0; i < B.Count; i++ )
{
if ( A.Contains(B[i]) )
C.RemoveAt( C.IndexOf(B[i]) );
else
C.Add( B[i] );
}
string[] result = new string[C.Count];
for ( int i = 0; i < C.Count; i++ )
{
result[i] = C[i].ToString();
}result为所求
C#技术群,欢迎大家光临指导!!
群号:26788099