Это поставило меня в тупик. Может быть, я слишком устал сейчас.
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. Кажется, отладчик солгал мне или что-то в этом роде. Во всяком случае, работает сейчас. Спасибо.