Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 98
- Предыдущая
- 98/642
- Следующая
Изменить размер шрифта:
98
Например, с помощью свойства
HasValue
!=
null
null
null
Value
?
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];
}
Как отмечалось ранее, типы данных, допускающие
null
null
GetlntFromDatabase()
null
GetBoolFromDatabase()
bool
class DatabaseReader
{
// Поле данных типа, допускающего null.
public int? numericValue = null;
public bool? boolValue = true;
// Обратите внимание на возвращаемый тип, допускающий null.
public int? GetIntFromDatabase()
{ return numericValue; }
// Обратите внимание на возвращаемый тип, допускающий null.
public bool? GetBoolFromDatabase()
{ return boolValue; }
}
В следующем коде происходит обращение к каждому члену класса
DatabaseReader
HasValue
Value
Console.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, является поддержка ссылочных типов, допускающих значение
null
null
null
Ссылочные типы, допускающие
null
null
null
null
null
null
null
null
98
- Предыдущая
- 98/642
- Следующая
Перейти на страницу: