2013-04-05 72 views
6

聲明爲動態變量的默認值是什麼private dynamic banana;動態類型的默認值?

當運行時確定類型時,我可以依賴default()函數嗎?

我需要找到默認值的原因是我聲明瞭一個我想設置它的類的動態成員(但不是readonly),然後多次使用它。

如何在不知道運行時類型可能是什麼的情況下檢查動態變量是否已設置爲默認值以外的其他值?

谷歌沒有提出這個:S

在此先感謝。

+1

您可以使用'default(dyanmic.GetType())' – gdoron 2013-04-05 06:41:03

+0

來檢查類型爲什麼不使用類型爲object的Type dynamic&backing字段的readonly屬性?這樣你可以無效檢查後臺字段。 – 2013-04-05 06:46:32

+0

@AkashKava,我沒有設置構造函數中的值,所以我不能使用只讀:/ – Sinker 2013-04-05 06:47:59

回答

5

它是null

dynamic blah; 
Console.Write(blah); // crash 
Console.Write(blah.GetType()); // NullRef 

..這是你的意思嗎?

+1

'Console.Write'在傳遞'null'時不會崩潰,它只是不打印任何東西。 http://msdn.microsoft.com/en-us/library/zcwe8sfx.aspx – 2013-04-05 06:50:47

+0

> @EdS。,您會收到以下錯誤: > {「以下方法或屬性之間的調用不明確:'System.Console .Write(string)'和'System.Console.Write(char [])'「} – Sinker 2013-04-05 06:52:30

+4

@Sinker:這不是崩潰 – 2013-04-05 06:54:48