Есть ли какое-либо различие между типом? и Nullable <тип>?

Эта библиотека синтаксического анализа веса должна решить все подобные проблемы. Мне нравится библиотека, потому что ее довольно легко расширить.

Пример синтаксического анализа:

var caseOne = Date.parseDate("Jul 8, 2005", "M d, Y");
var caseTwo = Date.parseDate("2005-07-08", "Y-m-d");

И форматирование обратно в строку (вы заметите, что оба случая дают точно такой же результат):

console.log( caseOne.dateFormat("M d, Y") );
console.log( caseTwo.dateFormat("M d, Y") );
console.log( caseOne.dateFormat("Y-m-d") );
console.log( caseTwo.dateFormat("Y-m-d") );

51
задан Mr. Boy 29 July 2016 в 01:07
поделиться

7 ответов

При рассмотрении IL использование Ildasm Вы найдете что они оба компиляция вниз к Nullable<bool>.

67
ответ дан akjoshi 7 November 2019 в 09:49
поделиться

Нет никакого различия между bool? b = null и Nullable<bool> b = null. Эти ? просто сахар синтаксиса компилятора C#.

38
ответ дан samjudson 7 November 2019 в 09:49
поделиться

Получить доступ к значению bool? необходимо сделать следующее:

bool? myValue = true;
bool hasValue = false;

if (myValue.HasValue && myValue.Value)
{
  hasValue = true;
}

Примечание Вы не можете просто сделать:

if (myValue)
{
  hasValue = true;
}
18
ответ дан Mark Ingram 7 November 2019 в 09:49
поделиться

Nullable<T> структура, состоящая из T и небольшого флага, указывающего, допустим ли T. Nullable<bool> имеет три возможных значения: верный, ложный и пустой.

Редактирование: А-ч, я пропустил то, что вопросительный знак после "bool" был на самом деле частью имени типа и не индикатора, что Вы задавали вопрос:). Ответ на Ваш вопрос, тогда, "да, C# bool? является просто псевдонимом для Nullable<bool>".

6
ответ дан Curt Hagenlocher 7 November 2019 в 09:49
поделиться

bool тип значения, поэтому он не может содержать Нулевое значение. При обертывании какого-либо типа значения с Nullable<> он даст ему ту способность. Кроме того, методы доступа для значения изменяются дополнительными свойствами HasValue и Value.

, Но к вопросу: Nullable<bool> и bool? псевдонимы.

4
ответ дан spoulson 7 November 2019 в 09:49
поделиться

Нет нет никакого различия. Таким образом:

Система. Булевская переменная-> допустимые значения: верный, ложный

bool-> искажают для Системы. Булевская переменная

Nullable< bool>-> допустимые значения: верный, ложный, пустой

bool?-> искажают для Nullable< bool>

Hope это помогает.

2
ответ дан morechilli 7 November 2019 в 09:49
поделиться

Пустые примитивы являются просто регулярными примитивами, обернутыми в Nullable. Любые появления об обратном являются просто компилятором и синтаксическим сахаром.

1
ответ дан 7 November 2019 в 09:49
поделиться
Другие вопросы по тегам:

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