Добрый день, недавно начал изучать язык программирования C# и столкнулся с небольшой проблемой передачи объектов методам по ссылке, покопавшись в литературе и интернете, нашел пару статье с данной темой и несколько примеров программ, но с одним примером так разобраться и не смог, помогите пожалуйста разобраться
using System;
class MyClass
{
int alpha, beta;
public MyClass(int A, int B)
{
alpha = A;
beta = B;
}
public bool SameAs(MyClass ob)
{
if ((ob.alpha == alpha) & (ob.beta == beta));
return true;
else
return false;
}
public void Copy(MyClass ob)
{
alpha = ob.alpha;
beta=ob.beta;
}
public void Show()
{
Console.WriteLine("alpha: {0}, beta {1}", alpha, beta);
}
class Program
{
static void Main()
{
MyClass v1 = new MyClass (4,5);
MyClass v2 = new MyClass (6,7);
Console.Write("v1: ");
v1.Show();
Console.Write("v2: ");
v2.Show();
if (v1.SameAs(v2))
Console.WriteLine("v1 и v2 имеют одинаковые значения");
else
Console.WriteLine("v1 и v2 имеют разные значения");
v1.Copy(v2);
Console.WriteLine("После копирования");
if (v1.SameAs(v2))
Console.WriteLine("v1 и v2 имеют одинаковые значения");
else
Console.WriteLine("v1 и v2 имеют разные значения");
}
Что происходит в этой части кода: public bool SameAs(MyClass ob), я так понимаю данный метод принимает в качестве параметра сам класс ? и что за параметр ob ?
Что потом сравнивается ? (if ((ob.alpha == alpha) & (ob.beta == beta));)
И послдений вопрос, что это - v1.SameAs(v2) ? Если это вызов метода, то что он принимает в качетсве параметра ?
Если не затруднит, распишите ответ более конкретно, заранее большое спасибо