Прокомментировать код вычислений - C#
Формулировка задачи:
Доброго времени суток!
Прошу помочь разобраться с кодом, изложенным ниже. Не понимаю сам алгоритм как происходит вычисление. Распишите, пожалуйста, что происходит на каждом шаге.
{ class A
{
int Fa;
static int Fb = 0;
public A(int a) { Fa = a; Fb += 1; }
public A(int a, int b) { Fa = 2 * a - b; Fb += 2; }
public override string ToString()
{
return String.Format("{0}", Fa + Fb);}
}
}
static void Main()
{
A[] m ={new A(1), new A(1,1), new A(2), new A(2,1)};
foreach (A i in m) Console.Write(i);
}
}Решение задачи: «Прокомментировать код вычислений»
textual
Листинг программы
class A
{
int Fa; //Приватное поле объекта
static int Fb = 0; //Статическое поле класса
//Конструктор с одним параметром. Полю Fa присваивается значение параметра,
//поле Fb увеличивается на 1
public A(int a) { Fa = a; Fb += 1; }
//Конструктор с двумя параметрами. Полю Fa присваивается выражения 2*a+b,
//поле Fb увеличивается на 2
public A(int a, int b) { Fa = 2 * a - b; Fb += 2; }
//Вывод суммы полей Fa и Fb
public override string ToString()
{
return String.Format("{0}", Fa + Fb);}
}
}
static void Main()
{
//Создаётся массив из 4 экземпляров класса А
A[] m ={new A(1), new A(1,1), new A(2), new A(2,1)};
//Перебираются все элементы массива и выводится сумма полей Fa и Fb
foreach (A i in m) Console.Write(i);
}