Huhuhu, setelah 3 hari 4 malam berfikir, maka pada hari ini aku berjaya memanipulasi array didalam c# untuk kegunaan satu projek. Masalah utama dalam projek ini ialah apabila aku memerlukan beberapa class array untuk menjadi variable didalam class yang lain. Puas berfikir bagaimana membuat setter dan getter method untuk array tersebut.
Seingat aku, didalam version vc# yang lepas terdapat function yang secara automatik membuat setter dan getter method setelah kita mengisytiharkan variable tersebut. Didalam version vc# yang baru ni aku kurang menjumpainya. Mungkin ada tapi disebabkan aku begitu tensen mencari nota yang berkaitan dengan array, aku biarkan ia ketepi. Bukan susah nak buat setter dan getter method tapi amat susah (pada aku) jika ia melibatkan array. Pening..
Dibawah ialah contoh yang telah berjaya aku buat. Komen tidak disertakan kerana aku malas
)
1. Class1.cs (Base class)
class Class1
{
private int t1;
private int t2;
public Class1()
{
t1 = 0;
t2 = 0;
}
public Class1(int t1, int t2)
{
this.t1 = t1;
this.t2 = t2;
}
public int T1
{
get { return t1; }
set { t1 = value; }
}
public int T2
{
get { return t2; }
set { t2 = value; }
}
}
2. Class2.cs (Calling Class)
class Class2
{
private int t3;
private Class1 a1;
private Class1[] a2;
public Class2()
{
t3 = 0;
a1 = new Class1();
}
public Class2(int t3)
{
this.t3 = t3;
a1 = new Class1();
}
public Class2(int t3, int bil)
{
this.t3 = t3;
this.a2 = new Class1[bil];
for (int i = 0; i < bil; i++)
this.a2[i] = new Class1();
}
public int T3
{
get { return t3; }
set { t3 = value; }
}
public Class1 A1
{
get { return a1; }
set { a1.T1 = value.T1; a1.T2 = value.T2; }
}
public Class1 A2(int i)
{
return a2[i];
}
public void A2(int i, int v1, int v2)
{
this.a2[i].T1 = v1;
this.a2[i].T2 = v2;
}
}
3. Program.cs (Run Class)
class Program
{
static void Main(string[] args)
{
Class1 m1 = new Class1();
m1.T1 = 5;
m1.T2 = 10;
Console.WriteLine(m1.T1.ToString());
Console.WriteLine(m1.T2.ToString());
Class2 m2 = new Class2();
m2.T3 = 15;
m2.A1.T1 = 6;
m2.A1.T2 = 11;
Console.WriteLine(m2.T3.ToString());
Console.WriteLine(m2.A1.T1.ToString());
Console.WriteLine(m2.A1.T2.ToString());
int bil = 2;
Class2 m3 = new Class2(0,bil);
for (int i = 0; i < bil; i++)
m3.A2(i, 21+i, 22+i);
m3.T3 = 20;
for (int i = 0; i < bil; i++)
Console.WriteLine(m3.A2(i).T1.ToString() + ” ” + m3.A2(i).T2.ToString());
Console.WriteLine(m3.T3.ToString());
Console.ReadLine();
}
}