Встроенные типы (bool vs Boolean) [дубликат]

связанный с этим вопрос Ограничения ключа Google Maps по IP-адресу не работают

ограничения реферера работают только для веб-API, а не для веб-служб.

Из ] документация

После ограничения ключ будет работать только на платформах, поддерживающих этот тип ограничений.

  • IP-адреса (отдельные серверы) - для использования с API-интерфейсами веб-службы .
  • HTTP-рефереры (веб-сайты) - для использования с Веб-API.

293
задан nawfal 17 June 2013 в 20:52
поделиться

14 ответов

bool является псевдонимом для System.Boolean, так как int является псевдонимом для System.Int32. См. Полный список псевдонимов здесь: Таблица встроенных типов (ссылка на C #) .

338
ответ дан cp.engr 23 August 2018 в 21:33
поделиться

Возможно, 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 прорастить «using System»; Изменение типа обратно на «bool» привело к тому, что волосы раздела использования стали серыми.

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

-1
ответ дан B. Clay Shannon 23 August 2018 в 21:33
поделиться

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

9
ответ дан Carra 23 August 2018 в 21:33
поделиться

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

2
ответ дан Hand of C'thuhlu 23 August 2018 в 21:33
поделиться

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

9
ответ дан itsmatt 23 August 2018 в 21:33
поделиться

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

5
ответ дан James Boother 23 August 2018 в 21:33
поделиться

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

1
ответ дан James Curran 23 August 2018 в 21:33
поделиться

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

13
ответ дан Joel Coehoorn 23 August 2018 в 21:33
поделиться

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

22
ответ дан MagicKat 23 August 2018 в 21:33
поделиться

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

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

-1
ответ дан Michael Kaldwid 23 August 2018 в 21:33
поделиться

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

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

0
ответ дан Nate 23 August 2018 в 21:33
поделиться

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

На данный момент существует одна незначительная разница на странице MSDN.

VS2005

Примечание:

Если вам нужна логическая переменная, которая также может иметь значение null, используйте bool.

VS2010

Примечание:

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

14
ответ дан rbuddicom 23 August 2018 в 21:33
поделиться

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

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

41
ответ дан Shashwat Khanna 23 August 2018 в 21:33
поделиться

Нет разницы. bool - просто псевдоним System.Boolean.

http://msdn.microsoft.com/en-us/library/c8f5xwh7 (VS.71) .aspx

18
ответ дан Zach Burlingame 23 August 2018 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: