Ответ 1
SomeProperty.HasValue Я думаю, это то, что вы ищете.
EDIT: btw, вы можете написать System.Guid?
вместо Nullable<System.Guid>
;)
Цитата из ответа из этого вопроса.
Guid - тип значения, поэтому переменная типа Guid не может иметь значение null начните с.
Что тогда, если я это вижу?
public Nullable<System.Guid> SomeProperty { get; set; }
как проверить, является ли это null? Как это?
(SomeProperty == null)
или как это?
(SomeProperty == Guid.Empty)
SomeProperty.HasValue Я думаю, это то, что вы ищете.
EDIT: btw, вы можете написать System.Guid?
вместо Nullable<System.Guid>
;)
Если вы хотите убедиться, что вам нужно проверить оба
SomeProperty == null || SomeProperty == Guid.Empty
Потому что это может быть null "Nullable", и это может быть пустой идентификатор GUID, подобный этому {00000000-0000-0000-0000-000000000000}
Обратите внимание, что HasValue
вернет true для пустого Guid
.
bool validGuid = SomeProperty.HasValue && SomeProperty != Guid.Empty;
Проверьте Nullable<T>.HasValue
if(!SomeProperty.HasValue ||SomeProperty.Value == Guid.Empty)
{
//not valid GUID
}
else
{
//Valid GUID
}
Вы должны использовать свойство HasValue
:
SomeProperty.HasValue
Например:
if (SomeProperty.HasValue)
{
// Do Something
}
else
{
// Do Something Else
}
FYI
public Nullable<System.Guid> SomeProperty { get; set; }
эквивалентно:
public System.Guid? SomeProperty { get; set; }
Ссылка на MSDN: http://msdn.microsoft.com/en-us/library/sksw8094.aspx