У меня есть класс Segment, который имеет четыре экземпляра класса PricingDetailPerPricingDetailPerAdult, PricingDetailPerChild, PricingDetailPerSenior, PricingDetailPerInfant, и все они имеют свойство Availability.
В коде мне нужно получить свойство Availability, но мне нужно проверить, существует ли Parent. Есть такое сокращение:
return segment.PricingDetailPerAdult != null ? (this.Availability) : (continue checking);
где this относится к segment.PricingDetailPerAdult или другому свойству, которое я проверяю?
Пожалуйста, может быть, я не очень хорошо выразился. Это не должно быть так, я просто спрашиваю, есть ли какое-то сокращение, которое сокращает код?
Что означает «проверить, существует ли родитель»? Вы не упоминаете родителя где-либо еще в своем коде.
@Enigmativity PricingDetailPerAdult является родителем Availability. Как и остальные три.
@GSerg - Что это значит? "за что родитель"? Я понимаю, что они являются свойствами класса Segment, но то, как они представляют «Родителя», для меня не имеет смысла.
@Enigmativity «Родительский элемент» что-то в терминах OP — это экземпляр, который имеет что-то в качестве свойства и, следовательно, находится на одну точку слева от него в выражении доступа. Для segment.PricingDetailPerAdult.Availability «родителем» Availability является PricingDetailPerAdult, который может быть или не быть нулевым. «Родителем» PricingDetailPerAdult является segment.
Я знаю, что «родитель» не подходит для данного контекста, но я подумал, что будет намного проще понять, что я хочу.
@AlmirHusić - Не думайте, что мы поймем, что вы имеете в виду, когда используете неточный термин - попробуйте объяснить более подробно, что вы имеете в виду. Я нашел это запутанным.





return segment.PricingDetailPerAdult?.Availability
?? segment.PricingDetailPerChild?.Availability
?? segment.PricingDetailPerSenior?.Availability
?? segment.PricingDetailPerInfant?.Availability;
Ссылка:
thisотносится к экземпляру класса/структуры, в котором вы выполняете код, как всегда. См. документы.thisне имеет ничего общего с синтаксисом тернарного оператора.