// Strukturani nusxalash.
using System;
// Strukturani aniqlash.
struct MyStruct {
public int x;
}
// Strukturani tayinlash.
class StructAssignment {
static void Main() {
MyStruct a;
MyStruct b;
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("a.x {0}, b.x {1}", a.x, b.x);
}
}
Bu dastur bajarilganda quyidagi natijalarni beradi.
а.х 10, b.x 20
a.x 20, b.x 30
Yuqoridagi natijalar tayinlash amalga oshirilganidan keyin
а = b;
strukturalar o'zgaruvchilari a va b hali butunlay alohida bo'lib ya`ni a o`zgaruvchi b o`zgaruvchisiga ishora emas va u bilan bog'liq emas, bundan tashqari, b o`zgaruvchisi qiymatining bir nusxasini o'z ichiga oladi. Agar a va b o'zgaruvchilar ma'lum bir sinfning ob'ektlariga ishora qiladigan havolalar tipida bo`lganda vaziyat butunlay boshqacha bo'lar edi. Misol sifatida, quyida oldingi dasturning sinf ob'ektlariga havolalar bilan o'zgaruvchilarni tayinlash versiyasi ko'rsatilgan.
// Muayyan sinf ob'ektlariga havolalardan foydalanish.
using System;
// Sinf yaratish.
class MyClass {
public int x;
}
// Ushbu sinfning turli ob'ektlarini tayinlashni ko'rsatish.
class ClassAssignment {
static void Main() {
MyClass a = new MyClass();
MyClass b = new MyClass();
Do'stlaringiz bilan baham: |