Это меня довольно озадачило. Может быть, я слишком устала прямо сейчас.
Rectangle rectangle = new Rectangle(0, 0, image.Width, image.Height);
Rectangle cropArea = inputArea == null ? rectangle : inputArea.Value;
if (inputArea == null)
cropArea = rectangle;
inputArea - обнуляемый прямоугольник, который в моем конкретном случае равен нулю.
Первые два оператора приводят к параметру cropArea, инициализированному в 0. Второе, однако, дает правильное значение cropArea на основе ширины и высоты изображения. Я что-то не так понял с условным оператором? Кажется, он не возвращает прямоугольник, когда inputArea = null? Есть ли причуды при работе с типами значений?
РЕДАКТИРОВАТЬ: Хорошо, я должен был попробовать это сначала: перезапустил VS. Кажется, отладчик солгал мне или что-то в этом роде. Во всяком случае, работает сейчас. Спасибо.