Главная страница » 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.
Язык сайта: