hamid18 Ответов: 5

Разница между NULL и null


что такое эквивалент NULL из C++ в C#?

Что я уже пробовал:

Null имеет значение по умолчанию 0. он может быть использован как логический,целочисленный указатель. Но C# null используется, когда мы не указываем на какой-то объект. Я не уверен, можно ли использовать null вместо NULL в C#.

5 Ответов

Рейтинг:
8

Richard Deeming

Если вы просто хотите инициализировать переменную до ее значения по умолчанию:
Выражения значений по умолчанию (руководство по программированию на C#) | Microsoft Docs[^]


Рейтинг:
44

User 7429338

Нет никакого эквивалента, который можно было бы использовать точно так же. То, что вы назначаете, зависит от того, как вы хотите его использовать:

o - это int со значением 0:

object o = 0;

o - это bool со значением false:
object o = false;

o является объектом нераспределенного :
object o = null;


Рейтинг:
36

phil.o

NULL в C++ это просто макрос, который приводит к нулевому указателю (нулевому адресу памяти, что на самом деле означает отсутствие адреса для этой переменной).
Ответ на ваш вопрос не прост: используйте null в C# для обозначения отсутствия ссылки на какой-либо объект (для управляемого кода); если вы пытаетесь манипулировать указателями из C# (что я на самом деле не рекомендую, если вы действительно не знаете, что делаете), вы можете использовать IntPtr.Zero вместо.


Рейтинг:
25

CPallini

Цитата:
Null имеет значение по умолчанию 0
Грубо говоря, см. Нуль - cppreference.com[^].


C++ и C# это довольно разные языки программирования. Так что вы рискуете сравнить яблоко с апельсином.


Рейтинг:
17

Richard MacCutchan

NULL это старый макрос,используемый в языке Си. Для C++ вы должны использовать nullptr. Для использования в C# null.


CPallini

Вперед, король Ричард, вперед!
5.

Richard MacCutchan

Теперь он всего лишь принц :(