Главная страница » C# » 27. Значение null
null
в C#В C# значение null
обозначает отсутствие ссылки на объект. Это означает, что переменная не указывает ни на какие данные в памяти.
📌 Важно! null
можно присваивать только ссылочным типам (string
, object
, class
), а также nullable-типам значений (int?
, double?
).
string message = null; // Строка не инициализирована
object obj = null; // Объект отсутствует
null
для ссылочных типовКогда ссылочная переменная содержит null
, это означает, что она не ссылается ни на один объект в памяти.
string name = null;
Console.WriteLine(name); // Ошибка: попытка использовать null
Если попытаться вызвать метод или обратиться к свойству такой переменной – произойдет исключение NullReferenceException
.
✅ Как избежать ошибки:
string name = null;
if (name != null)
{
Console.WriteLine(name.Length);
}
else
{
Console.WriteLine("Переменная не содержит данных");
}
null
для nullable-типов (int?
, double?
)Обычные числовые типы (int
, double
, bool
) не могут быть null
, но их можно сделать nullable (int?
, double?
).
int? age = null;
double? price = 99.99;
.HasValue
:
if (age.HasValue)
{
Console.WriteLine($"Возраст: {age.Value}");
}
else
{
Console.WriteLine("Возраст неизвестен");
}
null
(??
)Позволяет задать значение по умолчанию, если переменная null
.
string name = null;
string displayName = name ?? "Неизвестный";
Console.WriteLine(displayName); // Выведет "Неизвестный"
📌 Работает и с nullable
-числами:
int? number = null;
int result = number ?? 10; // Если number == null, то результат 10
Console.WriteLine(result); // Выведет 10
?.
(Null-conditional, «безопасная» навигация)Позволяет избежать NullReferenceException
при обращении к методам и свойствам null
-объекта.
string text = null;
Console.WriteLine(text?.Length); // Выведет null, ошибки не будет
✅ Сравните с обычным вызовом:
Console.WriteLine(text.Length); // Ошибка: NullReferenceException!
🔹 null
– это отсутствие объекта для ссылочных типов и nullable-чисел.
🔹 Чтобы избежать NullReferenceException
, используйте:
✅ ??
(значение по умолчанию)
✅ ?.
(безопасная навигация)
✅ .HasValue
(проверка nullable-типов)
🚀 Правильная работа с null
делает код надежнее и защищает от ошибок!
string
, присвойте ей null
.??
, чтобы вывести значение по умолчанию, если переменная null
.int?
и проверьте, есть ли в нем значение .HasValue
.✅ Пример решения:
using System;
class Program
{
static void Main()
{
string name = null;
Console.WriteLine(name ?? "Имя не указано");
int? number = null;
Console.WriteLine(number.HasValue ? $"Число: {number}" : "Число отсутствует");
}
}
Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
Язык сайта: