Небольшой вопрос, только для понимания: у меня есть два значения с нулевым значением. Я зачитал время создания и время обновления, оба могут быть заполнены. Поэтому я хочу проверить, что будет дальше:? Обработка конструктора с нулевыми типами
lastChangedIndrole = (tmpCreate > tmpUpdate ? tmpCreate : tmpUpdate);
Но здесь случаются некоторые странные вещи. Я ожидаю, что вы ошиблись, когда f.e. tmpUpdate имеет значение null, но, похоже, что-то возвращает, но не значение кортежа, а только второе, в моем примере обновление.
Есть ли что-нибудь, что я не понимаю? Я думаю, что код проверяет милисекунды до 1900 года, и если есть нулевое значение, возникает ошибка. Но этого не происходит. Это какая-то магия, которую я не понимаю?
P.S. : Есть ли специальное слово для? конструктор, такой как IIF в vb? Трудно что-то искать.
Спасибо и хороший старт в неделю
Matthias
* Почему бы вам ожидать, что вы выбрали исключение? Обратите внимание, что в коде, о котором вы говорите, нет конструктора. Вы просто имели в виду «условный оператор» вместо «конструктора»? –
Вы также можете быть заинтересованы в проверке того, являются ли значения «null» или «DateTime.MinValue», важно убедиться, что данные действительны до назначения результата операций другой переменной (что приводит к появлению другого странного поведения и затрудняет отлаживать). – glautrou
Я думаю, вы хотели использовать слово «конструкт», а не «конструктор», поскольку последнее слово имеет особое значение в .NET и C# (и, действительно, много языков программирования), тогда как «конструкция» означает что-то собранное из меньших частей , или утверждение/предложение, построенное путем сборки терминов и идей. –