В чем разница между bool
и Boolean
типов в C #?
338
bool
псевдоним для так System.Boolean
же, как int
псевдоним для System.Int32
. Смотрите полный список псевдонимов здесь: Таблица встроенных типов (C # Reference) .
boolean
иBoolean
это не одно и то же. Один является примитивным типом данных, а другой - объектом.Я не верю, что есть один.
bool
это просто псевдоним дляSystem.Boolean
источник
Они один в одном. bool это просто псевдоним для логического.
источник
Разницы нет - bool - это просто псевдоним System.Boolean.
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
источник
Я понимаю, что это много лет спустя, но я наткнулся на эту страницу из Google с тем же вопросом.
На данный момент на странице MSDN есть одно небольшое отличие.
VS2005
VS2010
источник
bool
может содержать ноль, ноBoolean
не может. Хотя существует ссылка от старой к новой документации, я не прочитал новую документацию достаточно тщательно, чтобы заметить единственную?
разницу.Они одинаковые. Boolean помогает упростить преобразование между C # и VB.Net. Большинство программистов на C # предпочитают «bool», но если вы находитесь в магазине, где много и VB.Net, и C #, то вы можете предпочесть Boolean, потому что он работает в обоих местах.
источник
Как уже было сказано, они одинаковы. Их два, потому что bool - это ключевое слово C #, а Boolean - класс .Net.
источник
Один псевдоним для другого.
источник
bool - псевдоним для логического класса. Я использую псевдоним при объявлении переменной и имени класса при вызове метода в классе.
источник
Они одинаковы, Bool просто System.Boolean сокращен. Используйте Boolean, когда вы работаете с программистом VB.net, так как он работает как с C #, так и с Vb
источник
Обратите внимание, что это
Boolean
будет работать только в том случае, если у вас естьusing System;
(что обычно, но не обязательно, включено) (если вы не записали это какSystem.Boolean
).bool
не нужноusing System;
источник
bool - это примитивный тип, означающий, что значение (в данном случае true / false) хранится непосредственно в переменной. Булево является объектом. Переменная типа Boolean хранит ссылку на логический объект. Единственная реальная разница - это хранение. Объект всегда будет занимать больше памяти, чем примитивный тип, но в действительности изменение всех ваших логических значений на bool не окажет заметного влияния на использование памяти.Я ошибался; Вот как это работает в Java с Boolean и Boolean. В C # bool и Boolean являются ссылочными типами. Они оба хранят свои значения непосредственно в переменной, они не могут быть нулевыми, и им обоим требуется метод "convertTO" для хранения их значений в другом типе (например, int). То, какой из них вы используете, имеет значение только в том случае, если вам нужно вызвать статическую функцию, определенную в логическом классе.
источник
bool
иBoolean
это не два разных типа, один тип не является ссылочным типом, вы можете вызывать статический метод для этого одного типа, используя любой идентификатор, и вам на самом деле не нужно вызыватьConvertTo
метод для преобразования его в другой тип.bool
иBoolean
оба являются ссылочными типами". Словаbool
иBoolean
оба относятся к одному и тому же типу, и этот тип является типом значения, а не ссылочным типом.bool - это псевдоним для логического выражения. Псевдонимы - это замена одной строки текста другой (например, search / replace-all в notepad ++) непосредственно перед компиляцией кода. Использование одного над другим не имеет никакого эффекта во время выполнения.
В большинстве других языков один будет примитивным типом, а другой - типом объекта (тип значения и ссылочный тип в жаргоне C #). C # не дает вам выбора между двумя. Когда вы хотите вызвать статический метод, определенный в логическом классе, он автоматически обрабатывает логический метод как ссылочный тип. Если вы создаете новую логическую переменную, она автоматически обрабатывает ее как ссылочный тип (если вы не используете метод Activator.CreateInstance).
источник
Возможно, bool немного легче, чем Boolean; Интересно изменить это:
...к этому:
... заставил мой cs файл прорасти "using System;" Смена типа обратно на «bool» привела к тому, что волосы оператора использования стали серыми.
(Visual Studio 2010, проект WebAPI)
источник
System.Boolean
скорее, чем простоBoolean
.using System;
Показывал, потому что он позволилBoolean
быть правильно интерпретированы какSystem.Boolean
. На самом деле не так светло, как просто менее многословно.