1.
String[] str1={"1","2","3"};
String[] str2={"2","3","4","5"};
System.Collections.Specialized.StringCollection sc = new System.Collections.Specialized.StringCollection();
sc.AddRange( str1 );
foreach ( string s in str2 )
{
if ( !sc.Contains( s ) )
{
sc.Add( s );
}
}
String[] str3 = new string[sc.Count];
sc.CopyTo(str3);
StringCollection.Contains 方法执行线性搜
索
每次要遍历下,实际上还是相当于二重循环
如果数组非常大的话,考虑效率问题,可以用StringDictionary
用ContainsKey来判断是否存在
只是最后不能用CopyTo复制到string数组
需要手工写代码遍历复制~
2.
C# code
string[] str1 = { "1", "2", "3" };
string[] str2 = { "2", "3", "4", "5" };
string[] str3 = str1.Union(str2).Distinct().ToArray();