3
我有這個數據可以是非常大的大小,這可能是一個xmlstring,數據集,datatable,datarowcollection。這些數據將與其類型一起傳遞給泛型方法。Convert.ChangeType()是否創建對象的副本或返回原始對象的引用?
void GenericMethod(object data, Type t)
{
var d = Convert.ChangeType(data, t);
//some tasks to do
}
問題:如果數據是1GB,ChangeType是否會創建另一個1GB的對象呢? 我只是想確定一下,因爲內存使用情況。
確定嗎? MSDN上的示例IConvertable實現調用Convert.ChangeType。這又會調用IConvertable來更改類型? http://msdn.microsoft.com/en-us/library/system.iconvertible.aspx – 2012-01-27 06:45:59
@EricJ .:它調用'double'上的ChangeType(),而不是它本身。 – SLaks 2012-01-27 06:46:43
這是否意味着,如果沒有異常被拋出,沒有創建副本? – jerjer 2012-01-27 07:02:24