一些同學在面試的時候會碰到一些小問題,這些問題雖小,卻能很好的顯示出來你以往工作情況和對待編程的狀態。
下面舉一個例子,關於“數組去重”,如果有同學面試的時候再碰到就可以順手而來了。
如題:寫一個方法去除數組string[] a = new string[] { "a", "b", "c", "a" };中的重復元素。
答:這裡所寫的方法用的“泛型”,所以要先引用的一個命名空間:System.Collections
using System.Collections;
public static ArrayList RemoveRepeat(string[] strRepeat)
{
ArrayList list = new ArrayList();//定義一個泛型用來裝數組的元素
foreach (string str in strRepeat)//foreach循環出 數組的元素
{
if (list.Contains(str) == false && !string.IsNullOrEmpty(str))//list.Contains(str)判斷list中是否有相同的元素,list.Contains(str) == false當不同時為true
list.Add(str);//把數組中的不相同元素添加到list中
}
return list;//返回list,list中的值就是所要得到的結果
}
這個例子其實關鍵是用到了“泛型”的一個方法Contains()來判斷list中是否已含有相同的元素。
對於這種“數組去重”很多人會用取單個元素與整個數組元素進行逐個對比的方法,與上面的例子對比效率高低立判。
摘自 風狐