Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 98
- Предыдущая
- 98/642
- Следующая
Изменить размер шрифта:
98
Например, с помощью свойства
HasValue!=nullnullnullValue?Nullable<T>LocalNullableVariables()static void LocalNullableVariablesUsingNullable(){ // Определить несколько типов, допускающих null, // с применением Nullable<T>. Nullable<int> nullableInt = 10; Nullable<double> nullableDouble = 3.14; Nullable<bool> nullableBool = null; Nullable<char> nullableChar = 'a'; Nullable<int>[] arrayOfNullableInts = new Nullable<int>[10];}Как отмечалось ранее, типы данных, допускающие
nullnullGetlntFromDatabase()nullGetBoolFromDatabase()boolclass DatabaseReader{ // Поле данных типа, допускающего null. public int? numericValue = null; public bool? boolValue = true; // Обратите внимание на возвращаемый тип, допускающий null. public int? GetIntFromDatabase() { return numericValue; } // Обратите внимание на возвращаемый тип, допускающий null. public bool? GetBoolFromDatabase() { return boolValue; }}В следующем коде происходит обращение к каждому члену класса
DatabaseReaderHasValueValueConsole.WriteLine("***** Fun with Nullable Value Types *****\n");DatabaseReader dr = new DatabaseReader();/// Получить значение int из "базы данных".int? i = dr.GetIntFromDatabase();if (i.HasValue){ Console.WriteLine("Value of 'i' is: {0}", i.Value); // Вывод значения переменной i}else{ Console.WriteLine("Value of 'i' is undefined."); // Значение переменной i не определено}// Получить значение bool из "базы данных".bool? b = dr.GetBoolFromDatabase();if (b != null){ Console.WriteLine("Value of 'b' is: {0}", b.Value); // Вывод значения переменной b}else{ Console.WriteLine("Value of 'b' is undefined."); // Значение переменной b не определено}Console.ReadLine();Использование ссылочных типов, допускающих null (нововведение в версии 8.0)
Важным средством, добавленным в версию C# 8, является поддержка ссылочных типов, допускающих значение
nullnullnullСсылочные типы, допускающие
nullnullnullnullnullnullnullnull
98
- Предыдущая
- 98/642
- Следующая
Перейти на страницу:
