原創|其它|編輯:郝浩|2009-09-24 14:45:11.000|閱讀 753 次
概述:這里介紹使用C#查找數據中重復數據,C#刪除數組重復項的解決方法。個人感覺,如果在數組不是很大的情況下,用正則替換還是最快的。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
學習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();
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:IT專家網