Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Операция ??
Операция ??
Еще одной особенностью типов с разрешением принимать значения null, о которой вам следует знать, является то, что с такими типами можно использовать появившуюся в C# 2005 специальную операцию, обозначаемую знаком ??. Эта операция позволяет присвоить типу значение, если его текущим значением оказывается null. Для примера предположим, что в том случае, когда значение, возвращенное методом GetIntFromDatabase(), оказывается равным null, соответствующему локальному типу int с разрешением значения null нужно присвоить числовое значение 100 (конечно, упомянутый метод всегда возвращает null, но я думаю, вы поймете идею, которую иллюстрирует данный пример).
static void Main(string[] args) {
Console.WriteLine("***** Забавы с разрешением null *****n");
DatabaseReader dr = new DatabaseReader();
// Если GetIntFromDatabase() возвращает null,
// то локальной переменной присваивается значение 100.
int? myData = dr.GetIntFromDatabase() ?? 100;
Console.WriteLine("Значение myData: {0}", myData);
Console.ReadLine();
}
Исходный код. Проект NullableType размещен в подкаталоге, соответствующем главе 3.
- Удобная операция объединения строк
- 1. Унарная операция выборки
- 2. Унарная операция проекции
- 3. Унарная операция переименования
- 1. Операция выборки.
- 2. Операция проекции.
- 3. Операция переименования.
- 1. Операция объединения.
- 2. Операция пересечения.
- 3. Операция разности.
- 4. Операция декартова произведения.
- 6. Операция естественного соединения.