Es ist ein Null-Propagationsoperator / Null-Bedingungsoperator? eine neue vorgeschlagene Funktion in C # 6.0
x?.y?.z meint
- Überprüfen Sie zuerst, ob
xnicht null ist, und überprüfen Sie y andernfalls , ob null zurückgegeben wird.
- Zweitens, wenn x nicht null ist, überprüfen Sie
y, ob es nicht null ist, und geben Sie zandernfalls null zurück.
Der endgültige Rückgabewert ist zoder null.
Ohne diesen Operator, wenn er xnull ist, x.ywürde der Zugriff eine Nullreferenzausnahme auslösen. Der nullbedingte Operator hilft dabei, eine explizite Überprüfung auf null zu vermeiden.
Auf diese Weise können Sie eine Nullreferenzausnahme vermeiden.
Siehe: Machen Sie sich mit den bevorstehenden Sprachfunktionen in C # vertraut
8 - Nullbedingte Operatoren
Manchmal neigt Code dazu, bei der Nullprüfung etwas zu ertrinken. Mit dem nullbedingten Operator können Sie nur dann auf Elemente und Elemente zugreifen, wenn der Empfänger nicht null ist. Andernfalls erhalten Sie ein Null-Ergebnis:
int? length = customers?.Length;