概括C#刪除數(shù)組重復(fù)項(xiàng)
學(xué)習(xí)C#數(shù)組時(shí),經(jīng)常會(huì)遇到數(shù)組中的重復(fù)項(xiàng)問題,這里將介紹問題的解決方法——C#刪除數(shù)組重復(fù)項(xiàng)。
C#刪除數(shù)組重復(fù)項(xiàng)
使用C#查找數(shù)據(jù)中重復(fù)數(shù)據(jù),C#刪除數(shù)組重復(fù)項(xiàng)的解決方法。個(gè)人感覺,如果在數(shù)組不是很大的情況下,用正則替換還是最快的。原理就是先排序,再用正則替換重復(fù)。當(dāng)然泛型+foreach是***的選擇,第二種方法很是不錯(cuò),代碼簡(jiǎn)潔,只是泛型的應(yīng)用,如果再FOREACH就更好。
***種方法:
- public static String[] RemoveDup(String[] myData)
- {
- if (myData.Length > 0)
- {
- Array.Sort(myData); //先對(duì)數(shù)組進(jìn)行排序
- int size = 1; //定義刪除重復(fù)項(xiàng)后的數(shù)組長(zhǎng)度
- 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++)
- //遍歷數(shù)組成員
- if (myData != myData[i-1])
- //如果相鄰的兩個(gè)不相等則放入新數(shù)組
- 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++)//遍歷數(shù)組成員
- {
- if (list.IndexOf(values[i].ToLower()) == -1)
- //對(duì)每個(gè)成員做一次新數(shù)組查詢?nèi)绻麤]有相等的則加到新數(shù)組
- list.Add(values[i]);
- }
- return list.ToArray();
- }
【編輯推薦】


















