Export (0) Print
Expand All

Marshal.SizeOf<T> Method (T)

[Supported in the .NET Framework 4.5.1 and later versions]

Returns the unmanaged size of an object of a specified type in bytes.

Namespace:  System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

public static int SizeOf<T>(
	T structure
)

Type Parameters

T

The type of the structure parameter.

Parameters

structure
Type: T

The object whose size is to be returned.

Return Value

Type: System.Int32
The size, in bytes, of the specified object in unmanaged code.

ExceptionCondition
ArgumentNullException

The structure parameter is null.

This method accepts an instance of a structure, which can be a reference type or a boxed value type. The layout must be sequential or explicit.

The size returned is the size of the unmanaged object. The unmanaged and managed sizes of an object can differ. For character types, the size is affected by the CharSet value applied to that class.

You can use the SizeOf<T>(T) method to determine how much unmanaged memory to allocate by using the AllocHGlobal and AllocCoTaskMem methods.

.NET Framework

Supported in: 4.5.2, 4.5.1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1

Windows Phone 8.1

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft