Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, SE, Вы писали:
SE>>Здравствуйте, Константин Л., Вы писали:
КЛ>>>decimal КЛ>>>2 КЛ>>>2
SE>>А не полное имя класса? System.Decimal.
КЛ>полное, лень писать
SE>>На счет чисел правильно, как мне думается.
КЛ>у компилятора другое мнение
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, SE, Вы писали:
SE>>Да, несколько неожиданно. Надо запомнить
N>Нет, запоминать не обязательно. Надо понять, как это работает.
т.е. оператор = возвращает не l-value, а то, что присвоили. Или этюд на вычисление аргументов функций?
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Константин Л., Вы писали:
КЛ>>т.е. оператор = возвращает не l-value, а то, что присвоили.
N>Тут тоже есть тонкость. Присвоили то мы 1, которая имеет тип System.Int32, а в метод передалось значение типа System.Decimal.
ну, как я понимаю, это все зависит от decimal.operator=. Было бы странно, чтобы он возвращал не decimal
Здравствуйте, Константин Л., Вы писали:
КЛ>>>т.е. оператор = возвращает не l-value, а то, что присвоили. N>>Тут тоже есть тонкость. Присвоили то мы 1, которая имеет тип System.Int32, а в метод передалось значение типа System.Decimal. КЛ>ну, как я понимаю, это все зависит от decimal.operator=. Было бы странно, чтобы он возвращал не decimal
Оператор "=" нельзя переопределить.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, SE, Вы писали:
SE>Здравствуйте, Константин Л., Вы писали:
N>>>Нет, запоминать не обязательно. Надо понять, как это работает.
SE>А разве можно что-то запоминать по-другому?
КЛ>>т.е. оператор = возвращает не l-value, а то, что присвоили. Или этюд на вычисление аргументов функций?
SE>Мне показалось, что этюд на порядок вычисления и передачи аргументов в функцию
SE>Рядом Spiceman привел неплохой пример, только с постфиксным инкрементом. Решение затруднений уже не вызвало
По мне так еще и на то, что именно C# компилятор определит с каким типом звать функцию, а не JIT.
Я, например, не знал (понял и запомнил )
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Константин Л., Вы писали:
КЛ>>>>т.е. оператор = возвращает не l-value, а то, что присвоили. N>>>Тут тоже есть тонкость. Присвоили то мы 1, которая имеет тип System.Int32, а в метод передалось значение типа System.Decimal. КЛ>>ну, как я понимаю, это все зависит от decimal.operator=. Было бы странно, чтобы он возвращал не decimal
_FR>Оператор "=" нельзя переопределить.
Здравствуйте, Константин Л., Вы писали:
КЛ>>>ну, как я понимаю, это все зависит от decimal.operator=. Было бы странно, чтобы он возвращал не decimal
_FR>>Оператор "=" нельзя переопределить. КЛ>это ты к чему, прости? я про built-in
Непонятно, что значит запись decimal.operator=. В C# оператор = не определен отдельно для каждого типа.
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Константин Л., Вы писали:
КЛ>>>>ну, как я понимаю, это все зависит от decimal.operator=. Было бы странно, чтобы он возвращал не decimal
_FR>>>Оператор "=" нельзя переопределить. КЛ>>это ты к чему, прости? я про built-in
N>В C# оператор = не определен отдельно для каждого типа.
Здравствуйте, Константин Л., Вы писали:
N>>В C# оператор = не определен отдельно для каждого типа.
КЛ>Что значит не определен?
Я имею в виду, что нет нескольких операторов = с разными сигнатурами, в отличие, например, от оператора ==. И для него не применяется overload resolution. Поэтому запись decimal.operator= не имеет смысла.