Неявное преобразование типа в C#
Компилятор вставит неявное преобразование там, где смысл не
теряется. Писать приведение в скобках, его же cast,
не нужно.
Число подставляется без скобок приведения. Если таких преобразований слишком много, компилятору труднее выбрать метод, и тогда уместнее явный cast. В этом примере приведение не требуется:
Meters m = 5;
Console.WriteLine(m.Value);
readonly struct Meters(double value)
{
public double Value { get; } = value;
public static implicit operator Meters(double v) => new(v);
}
Сделайте тип граммов, запишите в него число 250 без приведения и выведите значение в консоль.
Запишите строку "km" в свой тип без приведения и выведите результат в консоль.