Почему я не могу распаковать интервал как десятичное число?

Если вы запускаете этот код на локальном сервере (т.е. на вашем компьютере в целях разработки), он не отправит электронное письмо получателю. Что произойдет, это создаст файл .txt в папке с именем mailoutput.

В случае, если вы используете бесплатную службу хозингирования, такую ​​как 000webhost или hostinger, эти поставщики услуг отключают функцию mail(), чтобы предотвратить непреднамеренное использование спуфинга электронной почты, рассылки спама и т. Д. Я предпочитаю, чтобы вы свяжитесь с ними, чтобы узнать, поддерживают ли они эту функцию.

Если вы уверены, что поставщик услуг поддерживает функцию mail (), вы можете проверить это руководство PHP для получения дополнительной справки, PHP mail ()

Чтобы проверить, поддерживает ли ваш хостинг сервис. поддержите функцию mail (), попробуйте запустить этот код, (не забудьте изменить адрес электронной почты получателя)


Надеюсь, это помогло.

60
задан mezoid 6 July 2009 в 01:49
поделиться

2 ответа

Распаковать тип значения можно только в его исходный тип (и версию этого типа, допускающую значение NULL).

Между прочим, это действительно так (просто сокращение для вашей двухстрочной версии):

object i = 4;
decimal d = (decimal)(int)i; // works even w/o decimal as it's a widening conversion

По причине, стоящей за этим, прочтите эту запись в блоге Эрика Липперта: Представление и идентичность

Лично я категоризирую вещи выполняется с помощью синтаксиса приведения в четыре различных типа операций (все они имеют разные инструкции IL):

  1. Упаковка ( box инструкция IL) и распаковка ( unbox инструкция IL)
  2. Приведение через иерархию наследования (например, dynamic_cast в C ++, для проверки используется инструкция IL castclass )
  3. Приведение между примитивными типами (например, static_cast на C ++, существует множество инструкций IL для различных типов приведения типов между примитивными типами)
  4. Вызов определенных пользователем операторов преобразования (на уровне IL они просто вызовы метода к соответствующему методу op_XXX ).
79
ответ дан 24 November 2019 в 17:46
поделиться

Нет проблем с преобразованием int в десятичное , но когда вы распаковываете объект, вы должны использовать точный тип, который объект содержит .

Чтобы распаковать значение int в десятичное значение, сначала нужно распаковать его как int, а затем преобразовать в десятичное:

decimal d = (decimal)(int)reader[0];

Интерфейс IDataRecord также имеет методы для распаковка значения:

decimal d = (decimal)reader.GetInt32(0);
15
ответ дан 24 November 2019 в 17:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: