2014-01-27 30 views
1
string s = "hello"; 
Console.WriteLine(Marshal.SizeOf(s)); // gives error 

Marshal.Sizeof適用於其他數據類型,如int,char等,但不適用於字符串數據類型。有什麼具體的原因呢?爲什麼Marshal.Sizeof不適用於字符串?

+1

http://ericlippert.com/2013/06/13/whats-the-difference-sizeof-and-marshal-sizeof/ –

+0

它甚至沒有對數組,bitArray和其他引用類型的工作。 – RBT

回答

5

字符串是參考類型(class)不是值類型(struct)。

Marshal.SizeOf

該方法接受的結構,其可以是參考類型或裝箱值類型的實例。佈局必須是順序的或明確的。

相關問題