C# 单问号 ? 与 双问号 ??如何使用
时间: 2024-06-29 20:01:16 浏览: 194
c#_datagridview_详细使用教程
在 C# 中,单问号 `?` 和双问号 `??` 是运算符,它们主要用于条件查找和值的默认提供。
1. 单问号运算符 (`?.` 或者叫 null-coalescing 运算符):
- 用于安全地访问可能为 null 的对象属性或方法。当你尝试访问一个对象的属性或调用一个方法,如果该对象是 null,`?.` 运算符不会抛出异常,而是直接返回 null(如果属性不存在)或默认值(如果方法没有实现)。
- 示例:
```csharp
string str = myObject?.MyProperty;
int num = myObject?.MyMethod();
```
2. 双问号运算符 (`??` 或者叫 null-coalescing assignment):
- 用于给一个变量赋一个默认值,如果该变量是 null。这在初始化变量时特别有用,避免了显式检查 null 的需求。
- 示例:
```csharp
string str = myObject == null ? "Default Value" : myObject.MyProperty;
int num = myObject == null ? 0 : myObject.MyMethod();
```
阅读全文