假设我有一个功能:
let foo (a : 'T[])
我想知道T
的大小一种方法是:
let t = a.[0].GetType()
let size = Marshal.SizeOf(t)
if size < 4 then //something
else //something else
但这有一些问题。 GetType很慢,我必须首先检查数组是否为空。添加另一步和更多代码。是否有可能改善这一点?
答案 0 :(得分:2)
您可以使用typeof:
let t = typeof<'T>
let size = Marshal.SizeOf(t)
if size < 4 then //something
else //something else