DEV Community

Farkhodbek Kamolov
Farkhodbek Kamolov

Posted on

Nol indekslangan to'plamlar

C# da bir nechta to'plam(collection type) turlari nol indekslangan, ya'ni ularning qiymatiga indeks 0 dan boshlab murojat qilish mumkin. Yani arrayni yoki listni 0-chi indeksga murojat qilsak, bizga 1-chi element(qiymati)ni qaytaradi.

Misol:

var nums = new int[]{1,2,3,4,5};
Console.WriteLine(nums[0]);
// output --> 1
Enter fullscreen mode Exit fullscreen mode

C# da nol indeksli to'plamlar ro'yxatidan bir shingil: array, List<T>, ArrayList va hokazolar kiradi.

Yuqorida ko'rganimizdek, bizda nums nomi bilan, 1 dan 5 gacha bolgan sonlar arrayi berilgan, va biz konsolga birinchi elementi(qiymatini)ni chiqarishimiz uchun nums[0] deb murojat qildik. Keyingi elementiga murojat qilish uchun esa nums[1] deyish kifoya, va shu zaynda davom etaveradi.

0 indeksli toplamlarni ohirgi elementiga(umumiy elementlar soni n ga teng bolsa) nums[n-1] qilib murojat qilinadi. Nima uchun aynan n-1?!
Buning sababi, yuqoridagi kodga yuzlansak, u yerda qiymatlarning umumiy soni 5 ga teng(n = 5), indeks bo'ylab sanalganda esa 4 ga teng (0,1,2,3,4). Agar nums[5] qilsak, indeks bo'yicha sanalganda 5-chi indeks 6-chi elementga to'g'ri keladi, bizda esa umumiy 5ta qiymatlar bor.

indekslar -> 0 | 1 | 2 | 3 | 4
qiymatlar-> 1 | 2 | 3 | 4 | 5

Misol:

var nums = new int[]{1,2,3,4,5};
int n = nums.Length; // n = 5,
Console.WriteLine(nums[n-1]);
// output --> 5
Enter fullscreen mode Exit fullscreen mode

Bu kodda nums.Length(length -> uzunligi) bizga n yaniy qiymatlar sonini topishda yordam beradi. Yuqoridagi kodimizni yanda qisqartirsak boladi.

Misol:

var nums = new int[]{1,2,3,4,5};
Console.WriteLine(nums[nums.Length - 1]);
// output --> 5
Enter fullscreen mode Exit fullscreen mode

Bazida shunday holatlar boladiki ohirgi elementga murojat qilyotkanimizda nums[nums.Length] -1 ni qo'shib ketish yoddan chiqishi mumkin, bu esa o'z vaqtida hatolikga olib keladi.
C# 13-chi versiyasidan boshlab yangi feature(xususiyat) kirib keldi uning nomini
Implicit index access -> Indeksga yashirin kirish deb nomlashdi, va bu xususiyatni ishlatish uchun esa ^(caret -> karet) aperatori bilan amalga oshirish mumkin. Bu feature xaqida ushbu -> link postimda tanishib chiqsangiz boladi.

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay