概括C#刪除數組重復項
作者:佚名
這里介紹使用C#查找數據中重復數據,C#刪除數組重復項的解決方法。個人感覺,如果在數組不是很大的情況下,用正則替換還是最快的。
學習C#數組時,經常會遇到數組中的重復項問題,這里將介紹問題的解決方法——C#刪除數組重復項。
C#刪除數組重復項
使用C#查找數據中重復數據,C#刪除數組重復項的解決方法。個人感覺,如果在數組不是很大的情況下,用正則替換還是最快的。原理就是先排序,再用正則替換重復。當然泛型+foreach是***的選擇,第二種方法很是不錯,代碼簡潔,只是泛型的應用,如果再FOREACH就更好。
***種方法:
- public static String[] RemoveDup(String[] myData)
- {
- if (myData.Length > 0)
- {
- Array.Sort(myData); //先對數組進行排序
- int size = 1; //定義刪除重復項后的數組長度
- for (int i=1; i <myData.Length; i++)
- if (myData != myData[i-1])
- size++;
- String[] myTempData = new String[size];
- int j=0;
- myTempData[j++] = myData[0];
- for (int i=1; i <myData.Length; i++)
- //遍歷數組成員
- if (myData != myData[i-1])
- //如果相鄰的兩個不相等則放入新數組
- myTempData[j++] = myData;
- return myTempData;
- }
- return myData;
- }
第二種方法:
- public static string[] GetString(string[] values)
- {
- List<string> list = new List<string>();
- for (int i = 0; i < values.Length; i++)//遍歷數組成員
- {
- if (list.IndexOf(values[i].ToLower()) == -1)
- //對每個成員做一次新數組查詢如果沒有相等的則加到新數組
- list.Add(values[i]);
- }
- return list.ToArray();
- }
【編輯推薦】
責任編輯:佚名
來源:
51CTO技術博客