2015-05-24 108 views
1

我正在處理將字符串解析爲類型的方式,而不知道它們將被解析爲哪些類型。具體的bool /整數/日期等當聲明爲動態時,原始類型是否被裝箱

我使用的是字典<類型,函數功能<字符串,動態> >做到這一點考慮,但想知道是否有將是價值的裝箱/拆箱。

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

+0

很高興知道,謝謝:) – Miles

+0

@Miles * dynamic *是C#編譯器的一招。沒有*動態*類型。它被無聲地轉換爲* object *,並且編譯器知道它必須生成額外的代碼來處理「動態」部分。你可以看到它* typeof(dynamic)== typeof(object)* – xanatos

回答

2

是的,您從funcs返回的值類型實例將被裝箱(您實際上有一個存儲Func<string, object>的字典)。

當您調用func並嘗試將其分配給變量或將其傳遞給方法時,該值將被拆箱並存儲在相應類型的引用中。

相關問題