Передача struct и class в метод: что напечатает код
Вы разбираете чужой код и видите два почти одинаковых типа: один объявлен как struct, другой как class.
public struct Money { public decimal Amount; }
public class Order { public decimal Amount; }
void Discount(Money m) { m.Amount -= 100; }
void Discount(Order o) { o.Amount -= 100; }
var money = new Money { Amount = 1000 };
var order = new Order { Amount = 1000 };
Discount(money);
Discount(order);
Console.WriteLine($"{money.Amount} {order.Amount}");
Что будет выведено в консоль?
- 900 900
- 1000 900
- 1000 1000
- 900 1000
