Witam, z góry mówię, że doświadczenie z C# to ja mam nikłe, pewnie problem który opisuję jest banalny, ale nie mogę znaleźć żadnego sposobu na jego rozwiązanie. Więc:
using System;
using System.Collections;
class liczby
{
public int a,b;
public liczby(int a, int b)
{
this.a = a;
this.b = b;
}
}
class st
{
public ArrayList list = new ArrayList();
public st(int a, int b)
{
list.Add(new liczby(a,b));
}
}
class Program
{
static void Main()
{
st a = new st(5,10), b = new st(2,4);
b = a; ((liczby)b.list[0]).a -= 5;
System.Console.WriteLine("a.list[0].a = " + ((liczby)a.list[0]).a);
System.Console.WriteLine("b.list[0].a = " + ((liczby)b.list[0]).a);
System.Console.ReadKey();
}
}
Jak pewnie wiecie, obie wartości są sobie równe (wynoszą 0). Zachowanie operatora przypisania, można opisać tak jakby do obiektu "b" został przypisany adres obiektu "a", a nie jego wartość. Czy jest sposób, aby przypisać do "b" wartość "a"? Z góry dzięki za odpowiedź!