В чем разница между типами bool и Boolean в C#
в чем разница между bool
и Boolean
типы В C#?
14 ответов
bool
псевдоним System.Boolean
как int
псевдоним System.Int32
. Смотрите полный список псевдонимов здесь:Встроенная Таблица Типов (Справочник По C#).
нет никакой разницы - bool - это просто псевдоним системы.Логический.
http://msdn.microsoft.com/en-us/library/c8f5xwh7 (VS.71).aspx
Я понимаю, что это много лет спустя, но я наткнулся на эту страницу от Google с тем же вопросом.
есть одно незначительное различие на странице MSDN на данный момент.
VS2005
Примечание:
Если требуется логическая переменная, которая также может иметь значение null, используйте bool. Дополнительные сведения см. В разделе Nullable Types (руководство по программированию на C#).
VS2010
Примечание:
Если вам требуется логическая переменная, которая также может иметь значение null, используйте bool?. Дополнительные сведения см. В разделе Nullable Types (руководство по программированию на C#).
они одинаковы. Boolean помогает упростить преобразование между C# и VB.Net - ... Большинство программистов на C# предпочитают "bool", но если вы находитесь в магазине, где есть много обоих VB.Net и C# тогда вы можете предпочесть Boolean, потому что он работает в обоих местах.
Как уже было сказано, они такие же. Существует два, потому что bool-это ключевое слово C# и Boolean-класс .Net.
bool-это псевдоним для класса Boolean. Я использовать псевдоним при объявлении переменной и имя класса при вызове метода класса.
они одинаковы, Bool-это просто система.Булеан укоротился. Используйте Boolean, когда вы с VB.net программист, так как он работает как с C#, так и с VB
отметим, что Boolean
будет работать только у вас using System;
(который обычно, но не обязательно, включен) (если вы не напишите его как System.Boolean
). bool
не нужны using System;
bool является примитивным типом, что означает, что значение (true/false в этом случае) хранится непосредственно в переменной. Boolean-это объект. Переменная типа Boolean хранит ссылку на объект Boolean. Единственная реальная разница-хранение. Объект всегда будет занимать больше памяти, чем примитивный тип, но на самом деле изменение всех ваших логических значений на bool не окажет заметного влияния на использование памяти.
Я ошибался, Вот как это работает в java с boolean и Boolean. В C# bool и Boolean являются ссылочными типами. Оба они хранят свое значение непосредственно в переменной, оба они не могут быть null, и оба они требуют метода "convertTO" для хранения своих значений в другом типе (например, int). Важно только, какой из них вы используете, если вам нужно вызвать статическую функцию, определенную в классе Boolean.
возможно, bool немного "легче", чем Boolean; интересно, изменив это:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public bool CanUseOnItems { get; set; }
}
}
...для этого:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public Boolean CanUseOnItems { get; set; }
}
}
...заставил мой cs-файл прорасти "с помощью системы"; изменение типа обратно на" bool " вызвало седые волосы предложения using.
(Visual Studio 2010, проект WebAPI)
bool-это псевдоним для Boolean. Псевдонимы заменяют одну строку текста другой (например, search / replace-all в notepad++) непосредственно перед компиляцией кода. С помощью одного над другим не имеет никакого эффекта во время выполнения.
в большинстве других языков один будет примитивным типом, а другой-типом объекта (тип значения и ссылочный тип на жаргоне C#). C# не дает вам возможности выбирать между ними. Когда вы хотите вызвать статический метод, определенный в Boolean class, он автоматически магически обрабатывает Boolean как ссылочный тип. Если вы создаете новую булеву переменную, она автоматически обрабатывает ее как ссылочный тип (если вы не используете активатор.Метод CreateInstance).