Senior
Ինչպես հեռացնել կրկնօրինակները զանգվածից: Ի՞նչ մեթոդներ կան։
sobes.tech AI
Պատասխան AI-ից
C#-ում մի քանի եղանակ կա՝ հանել կրկնվող տարրերը զանգվածից:
- Օգտագործել LINQ և
Distinct()մեթոդը՝
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
- Օգտագործել
HashSet<T>, որը ավտոմատ կերպով պահում է միայն եզակի տարրեր՝
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
-
Կոմպլեքս օբյեկտների համար կարող եք իրականացնել
IEqualityComparer<T>և օգտագործել այնDistinct()կամHashSet-ի հետ: -
Եթե անհրաժեշտ է դասավորել և հանել կրկնվողները, կարող եք դասավորել զանգվածը և անցնել դրա միջով ցիկլով՝ ընտրելով եզակի տարրերը:
LINQ-ի Distinct()-ը ամենահեշտ և ընթեռնելի միջոցն է մեծամասշտաբ դեպքերում։