this 質問からの回答から引用。
Guidは値型であるため、Guid型の変数をnullにすることはできません。
これを見たらどうしますか?
public Nullable<System.Guid> SomeProperty { get; set; }
これがnullかどうかを確認するにはどうすればよいですか?このような?
(SomeProperty == null)
またはこのような?
(SomeProperty == Guid.Empty)
SomeProperty.HasValue 探しているものだと思う。
編集:ところで、あなたは書くことができますSystem.Guid?
の代わりに Nullable<System.Guid>
;)
両方をチェックする必要があることを確認したい場合
SomeProperty == null || SomeProperty == Guid.Empty
Null 'Nullable'である可能性があり、空である可能性があるためGUIDこのような{00000000-0000-0000-0000-000000000000}
HasValue
は、空のGuid
に対してtrueを返すことに注意してください。
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
}
ご参考までに
public Nullable<System.Guid> SomeProperty { get; set; }
以下と同等です:
public System.Guid? SomeProperty { get; set; }
MSDNリファレンス: http://msdn.Microsoft.com/en-us/library/sksw8094.aspx