В чем разница между типами bool и Boolean в С#

В чем разница между типами bool и Boolean в С#?

Ответ 2

Я не верю, что есть один.

bool является просто псевдонимом для System.Boolean

Ответ 3

Они одни в одном. bool является просто псевдонимом для булевых.

Ответ 5

Они одинаковы. Boolean помогает упростить конвертацию между С# и VB.Net. Большинство программистов на С# предпочитают "bool", но если вы находитесь в магазине, где есть много VB.Net и С#, тогда вы можете предпочесть логическое значение, потому что оно работает в обоих местах.

Ответ 6

Я понимаю, что это произошло много лет спустя, но я наткнулся на эту страницу из Google с тем же вопросом.

На странице MSDN существует незначительное различие.

VS2005

Примечание:

Если вам нужна логическая переменная, которая также может иметь значение null, используйте bool. Для получения дополнительной информации см. Nullable Types (Руководство по программированию на С#).

VS2010

Примечание:

Если вам нужна логическая переменная, которая также может иметь значение null, используйте bool?. Для получения дополнительной информации см. Nullable Types (Руководство по программированию на С#).

Ответ 7

Один из них является псевдонимом для другого.

Ответ 8

Как уже было сказано, они одинаковы. Есть два, потому что bool - это ключевое слово С# и Boolean.Net class.

Ответ 9

bool является псевдонимом для булева класса. Я использую псевдоним при объявлении переменной и имени класса при вызове метода в классе.

Ответ 10

Они те же, Bool просто System.Boolean сокращен. Используйте Boolean, когда вы работаете с программистом VB.net, поскольку он работает как с С#, так и с Vb

Ответ 11

Обратите внимание, что Boolean будет работать только если у вас есть using System; (который обычно, но необязательно включен) (если вы не напишете его как System.Boolean). bool не требуется using System;

Ответ 12

bool - это примитивный тип, означающий, что значение (true/false в этом случае) сохраняется непосредственно в переменной. Boolean - это объект. Переменная типа Boolean сохраняет ссылку на объект Boolean. Единственное реальное различие - хранение. Объект всегда будет занимать больше памяти, чем примитивный тип, но на самом деле изменение всех ваших логических значений в bool не окажет заметного влияния на использование памяти.

Я был неправ; что он работает в java с булевым и булевым. В С#, bool и Boolean являются ссылочными типами. Оба они сохраняют свое значение непосредственно в переменной, оба из них не могут быть нулевыми, и для обоих из них требуется метод convertTO для хранения своих значений в другом типе (например, int). Это имеет значение только для того, что вы используете, если вам нужно вызвать статическую функцию, определенную в классе Boolean.

Ответ 14

Возможно, 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" привело к тому, что волосы, использующие предложение, стали серыми.

(проект Visual Studio 2010, WebAPI)

Ответ 15

bool является псевдонимом для булевых. Какие алиасы заменяют одну строку текста на другую (например, search/replace-all в блокноте ++), перед компиляцией кода. Использование одного над другим не влияет на время выполнения.

В большинстве других языков один будет примитивным типом, а другой будет типом объекта (тип значения и ссылочный тип в жаргоне С#). С# не дает вам выбора между ними. Когда вы хотите вызвать статический метод, определенный в булевом классе, он автоматически задает логический тип Boolean как ссылочный тип. Если вы создаете новую Boolean-переменную, она автоматически магически рассматривает ее как ссылочный тип (если вы не используете метод Activator.CreateInstance).