web-dev-qa-db-ja.com

C#でNullable Guidが空かどうかを確認します

this 質問からの回答から引用。

Guidは値型であるため、Guid型の変数をnullにすることはできません。

これを見たらどうしますか?

public Nullable<System.Guid> SomeProperty { get; set; }

これがnullかどうかを確認するにはどうすればよいですか?このような?

(SomeProperty == null)

またはこのような?

(SomeProperty == Guid.Empty)
17
Saturnix

SomeProperty.HasValue 探しているものだと思う。

編集:ところで、あなたは書くことができますSystem.Guid? の代わりに Nullable<System.Guid>;)

21
dotixx

両方をチェックする必要があることを確認したい場合

SomeProperty == null || SomeProperty == Guid.Empty

Null 'Nullable'である可能性があり、空である可能性があるためGUIDこのような{00000000-0000-0000-0000-000000000000}

41
Sir l33tname

HasValueは、空のGuidに対してtrueを返すことに注意してください。

bool validGuid = SomeProperty.HasValue && SomeProperty != Guid.Empty;

7
DevDave

小切手 Nullable<T>.HasValue

if(!SomeProperty.HasValue ||SomeProperty.Value == Guid.Empty)
{
 //not valid GUID
}
else
{
 //Valid GUID
}
3

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

2
Mr. Mr.