рд╕реА # 8 рдФрд░ рд╢реВрдиреНрдп рд╡реИрдзрддрд╛ред рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд░рд╣рддреЗ рд╣реИрдВ

рдирдорд╕реНрддреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ! рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ C # 8 рдкрд░ рдЗрдпрд╛рди рдЧреНрд░рд┐рдлрд┐рдереНрд╕ рдХреА рдореМрд▓рд┐рдХ рдкреБрд╕реНрддрдХ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ :


рдЗрд╕ рдмреАрдЪ, рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкрд░, рд▓реЗрдЦрдХ рдиреЗ рджреЛ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдирдИ рдШрдЯрдирд╛рдУрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдЕрд╢рдХреНрддрддрд╛, рдЕрд╢рдХреНрддрддрд╛ рдФрд░ рдЕрд╢рдХреНрддрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рджреЛрдиреЛрдВ рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рд╢реАрд░реНрд╖рдХ рдХреЗ рддрд╣рдд рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред

C # 8.0 рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрд╢рдХреНрдд рд╕рдВрджрд░реНрдн рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдЗрд╕ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдЦрддрд░рдирд╛рдХ рдЪреАрдЬ рд╕реЗ рдиреБрдХрд╕рд╛рди рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЯреЛрдиреА рд╣реЛрдпрд░ рдиреЗ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреА рдПрдХ рдЕрд░рдм рдбреЙрд▓рд░ рдХреА рдЧрд▓рддреА рдХрд╣рд╛ рдерд╛ ред " C # рдХрд╛ рдПрдХ рдХреАрд╡рд░реНрдб рд╣реИnull(рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рдЬреЛ рдХрдИ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рдЗрд╕ рдХреАрд╡рд░реНрдб рдХреА рдЬрдбрд╝реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдЕрд▓реНрдЧреЛрд▓ рдбрдмреНрд▓реНрдпреВ рднрд╛рд╖рд╛ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реЛрд░ рдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рд╛рдЪреАрди рднрд╛рд╖рд╛ рдореЗрдВ (рдпрд╣ 1966 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛), рдЪрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдЗрд╕ рдЪрд░ рдХреЛ рдХрд╣реАрдВ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЕрд╡рд╕рд░ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЖрдЬ рдХрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ (рдЦреБрдж рд╣реЛрд░ рд╕рд╣рд┐рдд) рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рддрдХ рдХреЗ рдорд╣рдВрдЧреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд рдмрди рдЧрдпрд╛ рд╣реИред

рд╢реВрдиреНрдп рдорд╛рдирдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? рдРрд╕реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рднреА рд▓рд┐рдВрдХ рд╢реВрдиреНрдп рдкрд░ рдЗрдВрдЧрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЖрдк рд░рдирдЯрд╛рдЗрдо рдкрд░ рдордирд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдпрд╣ рдмрд╣реБрдд рдмреЛрдЭ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдПрдХ рдЪрд░ newрдХреЛ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪрд░ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХреБрдЫ рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рднрд╛рд░ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ: рд╕реА # 8 рдХреА рд░рд┐рд╣рд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ, рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдорд╛рди рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ nullред рд▓реЗрдХрд┐рди, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕рд┐рд▓рд╛рдИ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреЗ рд╕рд╛рде рдиреНрдпрд╛рдп рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрднреА рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреА рд╣реИ null? рдХреНрдпрд╛ рдЗрд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИnullрдЙрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ? рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдореБрдЭреЗ рдпрдХреАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬрд┐рд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдЗрд╕ рддрд░реНрдХ рдХреЛ outрдирд╣реАрдВ null, рдмрд▓реНрдХрд┐ рдПрдХ рдЕрд▓рдЧ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдЧреА ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдорд╛рдорд▓рд╛ рдРрд╕реА рдЪреАрдЬреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ; рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╢реВрдиреНрдп рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

C # рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ: рдпрджрд┐ рдЖрдк рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрдЪрд░рд┐рдд рдореВрд▓реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рднреА рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рддрдХ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рдХрд╛рд╕ рдЖрдк рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд┐рддреЛрдВ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдпрд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВint?, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдорд╛рди рдХреЗ рд╕рдВрдЪрд░рдг рдпрд╛ рд╡рд╛рдкрд╕реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рддреЛ, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░, рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрдереЛрдВ рдореЗрдВ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░, рд╢реВрдиреНрдп рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╣рдореЗрд╢рд╛ рдЙрди рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд░рд╣реА рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИрдВред

рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, C # 8.0 рд╕реЗ рдкрд╣рд▓реЗ, рд╢реВрдиреНрдп рдХреА рдЕрдиреБрдорддрд┐ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдХреНрд╖рдо рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ, рд╢реВрдиреНрдп-рд╡реИрдзрддрд╛ C # 8.0 рдореЗрдВ рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирдП рднрд╛рд╖рд╛ рдХрд╛рд░реНрдп рддрдм рддрдХ рдЕрдХреНрд╖рдо рд░рд╣рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдирд╕реЗ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░рддреЗред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЗрд╕ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ <Nullablegt;enable</Nullablegt;рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ ред<PropertyGroup>рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ .csprojред (рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдзрд┐рдХ рдлрд┐рд▓рд┐рдЧреНрд░реА рдирд┐рдпрдВрддреНрд░рдг рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк nullрдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рд▓реЗрдХрд┐рди, рдЬрдм рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд╣реЛрдЧрд╛ред рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХрд╛рд░реНрдп рд╣реИред)

рдЬрдм рд╕реА # 8.0 рдореЗрдВ рдЕрдиреБрдореЗрдп рд▓рд┐рдВрдХ nullрдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ: рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдВрдХ рдХреЗрд╡рд▓ рд╢реВрдиреНрдп рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЦреБрдж рдХреЛ рд╡рд┐рдкрд░реАрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде ( рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рд╕рдорд╛рди рд╣реИ: рдЖрдк рдЗрдВрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ ?, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдореВрд▓реНрдп рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдЕрдм рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ?, рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛?nullред)

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдФрд░, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХреЗ рдорд╣рддреНрд╡ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред Microsoft рдЗрд╕ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░ рд╕рдХрддрд╛ рдерд╛: рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рд┐рдВрдХ рдХреЛ рдЕрд╢рдХреНрдд рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ nullред рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕ рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдмрд╛рд░ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдЧрд▓рдд рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реА # рдХреЛрдб рдХреЗ рд╡рд┐рд╢рд╛рд▓ рджреНрд░рд╡реНрдпрдорд╛рди рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд┐рдВрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ nullред

рд╢реВрдиреНрдп рдорд╛рди рд▓реЗрдирд╛ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ, рдПрдХ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐, рдЬрдм рдпрд╣ рдирдИ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИ, рддреЛ рд╢реВрдиреНрдп рдХреЛ рд░реЛрдХрдирд╛ рдПрдХ рдирдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рдореЗрдВ рднреА рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ: "рдЕрд╢рдХреНрдд рд╕рдВрджрд░реНрднред" рдирд╛рдо рдЙрддреНрд╕реБрдХ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд▓рд┐рдВрдХ nullC # 1.0 рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВ ред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдХрд┐ рдЕрдм рд╢реВрдиреНрдп рдзрд╛рд░рдгрд╛ рдЙрди рдЪреАрдЬреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЬрд╛рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
тАГ
рд╕реА # 8.0 рдЕрдиреБрдореЗрдп рд▓рд┐рдВрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рддрд╛ рд╣реИ null, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЛ рд╣рд╛рдВ рдпрд╛ рдирд╛ рдкрд╕рдВрдж рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ async/awaitC # 5.0 рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдлреАрдЪрд░ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИ , рдЬреЛ рдлреИрд▓рдиреЗ рдХреА рдУрд░ рдЕрдЧреНрд░рд╕рд░ рд╣реИ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдСрдкрд░реЗрд╢рди рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреЗ рд╣реИрдВasync, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдХреЙрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП async, рдФрд░ рдЗрд╕реА рддрд░рд╣, рдвреЗрд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рдХрд╛рд░ рдЬреЛ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ nullрд╣реИрдВ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ: рдЙрдиреНрд╣реЗрдВ рдЪреБрдирд┐рдВрджрд╛ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрди рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реВnull(рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд░рдордг рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реЗ рдЕрдХреНрд╖рдо рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ C # 8.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдХреНрд░рдордг рд╕реЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдХреЛрдб рдЖрдзрд╛рд░ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдиреНрд╣реАрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдЗрд╕ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдЕрдзрд┐рдХ рдорд╣рд╕реВрд╕ рд╣реЛрддреА рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдРрд╕реЗ рдирд╛рдЯрдХреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреА рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рд╣рдореЗрд╢рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкрд░реЗрд╢рд╛рдиреА рдкреНрд░рддреАрдд рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмрд╣реБрдд рдореВрд▓реНрдпрд╡рд╛рди рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдореЗрдВ рдХреАрдбрд╝реЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЙрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВnull, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреЗрддрд╛рд╡рдиреА рдХреЗрд╡рд▓

рдПрдХ рд╕рд░рд▓ рдкрд░ / рдмрдВрдж рдХреЗ рдмрд╛рдж рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд╕рдмрд╕реЗ рдХрдареЛрд░ рд╕реНрддрд░ рд╣реИ, рдЬреЛ рдПрдиреЛрдЯреЗрд╢рди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ Corvus.ContentHandling.Json рдХреЛ рд╣рдорд╛рд░реЗ Corvus.ContentHandling рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ <Nullablegt;enable</Nullablegt;, рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдВ, рддреЛ рдЗрд╕рдХреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрдХрд▓рдХ рд╕реЗ 20 рдЪреЗрддрд╛рд╡рдиреА рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ <Nullablegt;warnings</Nullablegt;рд╕рд┐рд░реНрдл рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓реЗрдЧреАред

рд▓реЗрдХрд┐рди рд░реБрдХреЗрдВ! рдореБрдЭреЗ рдХрдо рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпреЛрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рдПрдЧреА? рдЕрдВрдд рдореЗрдВ, рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ: рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдЪрд░ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдВ nullрдЕрд╢рдХреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдирд▓ рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛

C # рд╢реВрдиреНрдп рд╡реИрдзрддрд╛ рдХреА рджреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд┐рд╕реА рднреА рдЪрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ null, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рдВрдХрд▓рдХ nullрдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЪрд░ рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ ред рдпрд╣ рд▓реЗрдЦ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдХрд┐рд╕реНрдо рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИnull, рдпрд╣ рд╣реИ рдХрд┐, рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рди рдХреЗрд╡рд▓ рдЪрд░ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЖрддреНрдорд╛ рдореЗрдВ рдЙрдирдХреЗ рдХрд░реАрдм рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рд╕реНрдерд┐рд░ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ nullрдкреНрд░рддреНрдпреЗрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП C # рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, nullрдЗрд╕рдХреА рдкрд╣рд▓реА рд╕рдордЭ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ ред , рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд╢рдХреНрддрддрд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд┐рддрд┐ рдЙрддрдиреА рд╕реБрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрд┐рддрдиреА рдХрд┐ рдХреЛрдИ рдорд╛рди рд▓реЗрдЧрд╛ред рдпрд╣ "рдЕрд╢рдХреНрдд рд╡реИрдзрддрд╛" рдФрд░ "рдЕрдорд╛рдиреНрдп" рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВ рд╣реИnull"ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреЛ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВред "рдЕрдЬреНрдЮрд╛рдд" рдХреА рдПрдХ рд╢реНрд░реЗрдгреА рд╣реИ, рдЬреЛ рдЬреЗрдирд░рд┐рдХ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ; рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд╕реАрдорд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реИрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ null: рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╡рд┐рдзрд┐ рдпрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдЙрди рдореЗрдВ рдПрдХ рддрд░реНрдХ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рддреЛ рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ nullред рдЖрдк рдкреНрд░рддрд┐рдмрдВрдз рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдРрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдз рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░рдХрд╛рд░ рдпрд╛ рд╡рд┐рдзрд┐ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВред рддреЛ, рдХреБрдЫ рдЕрд╕реАрдорд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЪрд░ рдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, Tрд╢реВрдиреНрдп рдХреА рдЧреИрд░-рд╡реИрдзрддрд╛ рдЕрдЬреНрдЮрд╛рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП; рд╢рд╛рдпрдж, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рдХрд╛ рд╕рд╡рд╛рд▓nullрдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬреЗрдиреЗрд░рд┐рдХ рдХреЛрдб рдореЗрдВ рдХреМрди рд╕рд╛ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЯрд╛рдЗрдк рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред

рдмрд╛рдж рдХреА рд╢реНрд░реЗрдгреА рдХреЛ "рддрдЯрд╕реНрде" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред "рддрдЯрд╕реНрдерддрд╛" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ, рд╕реА # 8.0 рдХреЗ рдЖрдЧрдорди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдЖрдк рдЕрд╢рдХреНрдд рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред (рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд░рддрд┐рдЧрд╛рдореАрддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд▓ рддрдЯрд╕реНрдерддрд╛ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рд╕реА # 8.0 рдореЗрдВ рдХреЛрдб рдХреА рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЕрд╢рдХреНрддрддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реА # рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдиреЗ рдЬреЛрд░ рджреЗрдХрд░ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХрднреА рднреА рд╕реА # рдХреЗ рд▓рд┐рдП рд╡рд┐рджреЗрд╢реА рдирд╣реАрдВ рдереАред)

рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рддрдЯрд╕реНрдерддрд╛" рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕ рдирд╕ рдореЗрдВ рдерд╛ рдХрд┐ рд╕реА # рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЦреБрдж рдХреЛ рд╕рдм рдХреБрдЫ рд╕рдордЭрддреЗ рд╣реИрдВ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢рд╛рдпрдж, рдпрд╣ рдереЛрдбрд╝рд╛ рдмреЗрдИрдорд╛рдиреА рд╣реИред рддреЛ рд╕реБрдиреЛ: рдПрдХ рдРрд╕реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ null, null-рдЙрддреНрддрд░реАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЕрд╢рдХреНрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддреА рд╣реИрдВред рдЖрдк рдПрдХ рдЕрд╢рдХреНрдд-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп nullрдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВред Null-рдЕрдиреБрд╢рд╛рд╕рдиреАрдп рдЪрд░ (рд╕рд╛рде рд╣реА рдЧреБрдг, рдХреНрд╖реЗрддреНрд░ рдЗрддреНрдпрд╛рджрд┐), рдЖрдк рдЙрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрдХрд▓рдХ рдХреЛ "рд╕рдВрднрд╡ null" рдпрд╛ " рд╕рд╣реА " рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ nullред

рдЗрд╕реАрд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЕрднреА рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдИ рдирдП рдЕрд▓рд░реНрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рд╕рднреА рдХреЛрдб рдЕрдХреНрд╖рдо рд╡реИрдзрддрд╛ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрдиреЗ рд╣реБрдП рд╣реИрдВ null, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЪрд░, рдкреИрд░рд╛рдореАрдЯрд░, рдлрд╝реАрд▓реНрдб рдФрд░ рдЧреБрдг nullрддрдЯрд╕реНрде рд╣реЛрдВрдЧреЗ, рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдерд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА nullред

рдлрд┐рд░, рдореБрдЭреЗ рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпреЛрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП? рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рддрд░реАрдХреЗ рд╕реЗ рдХреЛрдб рдХреЗ рджреЛ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреЗ рдХрд╛рд░рдг рдЬреЛ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ nullред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд╣рд╛рдВ рдЕрдиреБрдореЗрдп рд▓рд┐рдВрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ null, рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧрд╣рд░реА рд╡рд░реНрдЧ рд╣реИ:

public static class NullableAwareClass
	{
	    public static string? GetNullable() => DateTime.Now.Hour > 12 ? null : "morning";
	

	    public static int RequireNonNull(string s) => s.Length;
	}

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдЕрд╢рдХреНрддрддрд╛ рдХреА рдЪреЗрддрд╛рд╡рдиреА рд╕рдХреНрд░рд┐рдп рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

static int UseString(string x) => NullableAwareClass.RequireNonNull(x);

рдЪреВрдВрдХрд┐ рдЕрд╢рдХреНрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдЕрдХреНрд╖рдо рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП xрдпрд╣рд╛рдВ рдкреИрд░рд╛рдореАрдЯрд░ nullрддрдЯрд╕реНрде рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рдХ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╕рдВрдХрд▓рдХ nullрдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рддрдЯрд╕реНрде рднрд╛рд╡ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ null, рддреЛ рдЗрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдкрд╛рдд рд╕рдВрджрд┐рдЧреНрдз рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП, рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред

рдЗрд╕ рдЖрд╡рд░рдг рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХреЛ рдЫрд┐рдкрд╛рдпрд╛ рдХрд┐ рдХреЛрдб рд╡реИрдзрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ nullред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдореИрдВ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ:

	int x = UseString(NullableAwareClass.GetNullable());

рдХрдВрдкрд╛рдЗрд▓рд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ GetNullableрд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИ null, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдЕрд╢рдХреНрдд-рддрдЯрд╕реНрде рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд┐ рдХреЛ рдмреБрд▓рд╛рдпрд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдпрд╛ рдЧрд▓рддред null-Neutral рдЖрд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рдореИрдВрдиреЗ рд╕рдВрдХрд▓рдХ рдХреЛ рдирд┐рд░рд╕реНрддреНрд░ рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдЕрдм рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛрдЧрд╛:

int y = NullableAwareClass.RequireNonNull(NullableAwareClass.GetNullable());

рдпрд╣рд╛рдВ рдореИрдВ GetNullableрд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ RequireNonNullред рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд╣рд╛рдВ рдЕрд╢рдХреНрдд рдзрд╛рд░рдгрд╛рдПрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рдЪрд╛рд╣реЗ рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж рдХрд░ рджреВрдВред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдШреЛрд╖рдгрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрд╢рдХреНрдд рдХреА рдзрд╛рд░рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдШреЛрд╖рдгрд╛рдПрдВ nullрддрдЯрд╕реНрде рд╣реЛ рдЬрд╛рдПрдВрдЧреА , рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдВ рдРрд╕реА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдгрд╛рдо GetNullableрд╢реВрдиреНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓рддреА рд╣реИред

рд╕рд╛рд░рд╛рдВрд╢: рдЕрдХреНрд╖рдо рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рднреА рдШреЛрд╖рдгрд╛рдПрдБ рдЬреЛ рдЕрдиреБрдорддрд┐ рджреЗрддреА nullрд╣реИрдВnull-рдиреЗрдЯрд░рд▓, рд╣рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдирд╣реАрдВ рдорд┐рд▓реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ null-рдСрдирдЯреНрд░рд▓ рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрднреА рднреА nullрдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдзрд╛рд░рдгрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдЬрдм рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдХреБрдЫ рдЕрд╢рдХреНрдд-рддрдЯрд╕реНрде-рддрдЯрд╕реНрде рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рд╛рдн .рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╢рдХреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рд╣реЛрдЧрд╛ :

int z = NullableAwareClass.GetNullable().Length;

рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╕рдВрдкреВрд░реНрдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдХреНрд░рдорд┐рдХ рдПрдиреЛрдЯреЗрд╢рди

рдЬрдм рдЖрдк рдкрд╣рд▓рд╛ рдХрджрдо рдЙрдард╛рддреЗ рд╣реИрдВ - рдмрд╕ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ, рддреЛ рдЖрдк рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдХреНрд░рдорд┐рдХ рд╕рдХреНрд░рд┐рдпрдг, рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рддреБрд░рдВрдд рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ - рдФрд░ рдлрд┐рд░ рдПрдХ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдЪреЗрддрд╛рд╡рдиреА рд╣реЛред рдлрд┐рд░ рд╕реЗ, рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрддрд░ рдкрд░ рдмрдВрдж рдХрд░реЗрдВ, рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд┐рдЦреЗрдВ #nullable enableред рдпрд╣ nullрдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдзрд╛рд░рдгрд╛ (рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдмрдВрдж рди рдХрд░реЗрдВ#nullable) рддрдм рдЖрдк рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдирд┐рдХрд╛рдп рдЬреЛ рдХрд┐ рдЕрд╢рдХреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреЛ рдЕрдиреБрдорддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ null(рдпрд╛рдиреА, рдЬреЛрдбрд╝реЗрдВ ?), рдФрд░ рдлрд┐рд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВ, рдпрджрд┐ рдХреЛрдИ рднреА рд░рд╣рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд░рд┐рд╡рд░реНрд╕ рднреА рд╕рдВрднрд╡ рд╣реИ: рдЖрдк рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдк рдмрдбрд╝реЗ рдХрд░реАрдиреЗ рд╕реЗ рд╡реИрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдПрдиреЛрдЯреЗрдЯ рдХрд░рддреЗ рд╣реИрдВnull, рдЕрдиреНрдп рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдП рд╣реИрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдРрд╕реА рдХрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рдЗрд╕ рдХрджрдо рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рдбреВрдм рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдЙрдкрд╛рдп рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдмрд╕ рдЪрдпрди рдХреЛ рд░рджреНрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдЖрдк рдЪреБрдирд┐рдВрджрд╛ рддреМрд░ рдкрд░ рдЙрди рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред ( #nullableрдЖрдк рдЬрд┐рддрдиреА рдЪрд╛рд╣реЗрдВ рдЙрддрдиреА рдмрд╛рд░ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдирд▓ рд╡реИрдзрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд▓рд╛рдЗрди рд╕реЗ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред) рд╢рд╛рдпрдж рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд▓реМрдЯрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢реВрдиреНрдп рд╡реИрдзрддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрдо рджреЗрдЦреЗрдВрдЧреЗред рдкрд╣рд▓реА рдмрд╛рд░ рд╕реЗ рдЪреЗрддрд╛рд╡рдиреАред

рдРрд╕реЗ рд╕рдордп рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЗрддрдиреЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреНрд░рдорд╛рдВрдХрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Json.NET рдпрд╛ Entity рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп), рдХрд╛рдо рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреА рд╣рдХрджрд╛рд░ рд╣реИред

рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ nullрдЖрдкрдХреЗ рдХреЛрдб рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдирд╕реЗ рдЯрдХрд░рд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдФрд░, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдлрд╛рдпрджреЗ рддреЗрдЬреА рд╕реЗ рдорд╣рд╕реВрд╕ рд╣реЛрдиреЗ рд▓рдЧреЗрдВрдЧреЗред

All Articles