Home > Backend Development > C++ > How Does C# 6.0's Null-Conditional Operator (?. ) Prevent NullReferenceExceptions?

How Does C# 6.0's Null-Conditional Operator (?. ) Prevent NullReferenceExceptions?

Barbara Streisand
Release: 2025-01-25 15:22:09
Original
360 people have browsed it

C# 6.0 Null-Conditional Operator (?.)

C# 6.0?.. Operator: Revealing the empty condition characteristics

C# 6.0 introduced?. The operator completely changed the method of processing vacancy. This operator solves common problems that can cause abnormalities when running an object attribute or calling the method.

<.> ?. The purpose of the operator

?. The operator, also known as the "empty condition" operator, has the following key functions:

Value check:

It evaluates whether the first operation (e.g. A) is empty. If A is empty, the operator will terminate the evaluation and return NULL.
  • Member interview: If A is not empty, the operator will continue to evaluate and access the first operating number (such as A.Propertyofa).
  • Usage
  • ?. The usage of the operator is very simple:

In the example above, if A is empty, the expression A? .Propertyofa would be evaluated as NULL, and the comparison with FOO would lead abnormal.

Equity

if (a?.PropertyOfA != foo) {
   //somecode
}
Copy after login
In conceptual point of view, the computing symbol can be equivalent to the following code:

But,?. The operational symbol avoids the redundant assessment of A and optimized the performance of the code. <示> Example application

Consider a scene, you have a FileInfo object FI, which may be empty or not empty. By using?. The operator, you can avoid potential abnormalities:
if (a != null) {
    a.PropertyOfA;
}
else {
    null;
}
Copy after login

In this case, if FI is empty, Length will be set to NULL without causing abnormalities.

Conclusion

C# 6.0?. The computing symbol provided an elegant and efficient solution for the processing vacancy, enabling developers to write more robust and more concise code. By providing air value inspection and member interviews at the same time in an expression, it simplifies the code structure and improves program security.

The above is the detailed content of How Does C# 6.0's Null-Conditional Operator (?. ) Prevent NullReferenceExceptions?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template