a.x = 10;
b.x = 20;
Console.WriteLine("a.x {0}, b.x {1}", a.x, b.x);
a = b;
b.x = 30;
Console.WriteLine("а.х {0}, Ь.х {1}", а.х, Ь.х);
}
}
Ushbu dasturning bajarilganda quyidagi natijalar olinadi.
а.х 10, b.х 20
а.х 30, b.х 30
Ko'rib turganingizdek, b o'zgaruvchilari a o`zgaruvchilariga o`zlashtirilyapti, har ikki o'zgaruvchilar ham bir xil ob'ekt ishora qiladi ya`ni dastlabki b ob`ekti o'zgaruvchilariga ko'rsatilgan.
Strukturalarni tayinlash.
Yuqoridagilardan o`rinli savol tug'iladi: nima uchun C# tilida struktura sinfdan ko'ra kamroq imkoniyatlar mavjud bo'lsa ham qo`llaniladi? Bu savolga javob dasturlarning ishlash samaradorligini oshirishdir. Strukturalar qiymatlarning tiplariga ishora qiladi va shuning uchun ular bevosita emas, balki to'g'ridan-to'g'ri ishlashi mumkin. Natijada, struktura bilan ishlash uchun havola tipining o'zgaruvchisini talab qilinmaydi, bu esa ba'zi hollarda operativ xotiraning sezilarli darajada tejalishini anglatadi. Bundan tashqari, struktura bilan ishlash, sinf ob'ektiga murojaat qilish uchun xarakterli bo'lgan samaradorlikning yomonlashishiga olib kelmaydi. Strukturaga kirish to'g'ridan — to'g'ri amalga oshiriladi va ob'ektlarga havolalar ko`rinishida emas, chunki sinflar havolalar tipiga tegishli. Ob'ektlarga kirishning bevosita tabiati har bir kirishda hisoblash resurslarining qo'shimcha sarflanishiga olib keladi, strukturalarga murojaat qilish bunday sarf yuzaga kelmaydi. Umuman olganda, faqat bir-biriga bog'liq bo'lgan ma'lumotlar guruhini saqlab qo`yish kerak bo'lsa, unda ishlash samaradorligi hisobidan ular uchun strukturani tanlash yaxshi hisoblanadi.
Do'stlaringiz bilan baham: |