Sobes.tech
Junior

C#-də ArrayList və List arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində ArrayList və List arasındakı fərqlər aşağıdakılardır:

  • Tip təyini:

    • ArrayList elementləri object tipində saxlayır (tip təyin olunmamış kolleksiya), bu da elementləri çıxararkən tip çevirməsini tələb edir və tip təhlükəsizliyini azaldır.
    • List<T> ümumi kolleksiyadır (T — müəyyən edilmiş tip), müəyyən bir tipdə elementləri saxlayır, tip təhlükəsizliyini təmin edir və tip çevirməsinə ehtiyac qalmır.
  • Performans:

    • ArrayList-ə element əlavə etmək və çıxarmaq daha yavaş ola bilər, çünki boxing və unboxing əməliyyatları tələb olunur.
    • List<T> ümumiyyətlə daha sürətlidir, xüsusən də qiymət tipləri üçün, çünki boxing/unboxing yoxdur.
  • Tip təhlükəsizliyi:

    • ArrayList müxtəlif tiplərdə elementlər saxlaya bilər, bu da işləmə zamanı səhvlərə səbəb ola bilər.
    • List<T> isə tiplərin təhlükəsizliyini tərtib zamanı təmin edir.
  • İcra:

    • ArrayList System.Collections ad məkanında yerləşir.
    • List<T> isə System.Collections.Generic ad məkanında yerləşir.
  • İstifadə:

    • ArrayList köhnə sayılır və yeni kodda istifadə olunması tövsiyə edilmir.
    • List<T> isə əksər ssenarilər üçün üstün seçimdir.

İstifadə nümunəsi:

// ArrayList istifadə
System.Collections.ArrayList arrayList = new System.Collections.ArrayList();
arrayList.Add(1);       // int object-ə paketlənir
arrayList.Add("sətir"); // string object kimi saxlanılır

int rəqəm = (int)arrayList[0]; // Tip çevirmə tələb olunur

// List<T> istifadə
System.Collections.Generic.List<int> siyahı = new System.Collections.Generic.List<int>();
 siyahı.Add(1); // int əlavə edir

// int rəqəm = siyahı[0]; // Tip çevirməyə ehtiyac yoxdur

Müqayisə cədvəli:

Xüsusiyyət ArrayList List<T>
Tip təyini Təyin olunmayıb (object) Ümumi (T)
Performans Boxing/unboxing mümkündür Daha yüksək, boxing/unboxing olmadan
Tip təhlükəsizliyi Aşağı Yüksək (tərtib zamanı)
Naviqasiya sahəsi System.Collections System.Collections.Generic
Tövsiyə Tövsiyə edilmir Tövsiyə olunur