Table of Contents

Class Unsafe

Namespace
System.Runtime.CompilerServices
Assembly
System.Runtime.CompilerServices.Unsafe.dll
public static class Unsafe
Inheritance
Unsafe
Inherited Members

Methods

AddByteOffset<T>(ref T, IntPtr)

public static ref T AddByteOffset<T>(ref T source, IntPtr byteOffset)

Parameters

source T
byteOffset IntPtr

Returns

T

Type Parameters

T

AddByteOffset<T>(ref T, nuint)

public static ref T AddByteOffset<T>(ref T source, nuint byteOffset)

Parameters

source T
byteOffset nuint

Returns

T

Type Parameters

T

Add<T>(void*, int)

public static void* Add<T>(void* source, int elementOffset)

Parameters

source void*
elementOffset int

Returns

void*

Type Parameters

T

Add<T>(ref T, int)

public static ref T Add<T>(ref T source, int elementOffset)

Parameters

source T
elementOffset int

Returns

T

Type Parameters

T

Add<T>(ref T, IntPtr)

public static ref T Add<T>(ref T source, IntPtr elementOffset)

Parameters

source T
elementOffset IntPtr

Returns

T

Type Parameters

T

Add<T>(ref T, nuint)

public static ref T Add<T>(ref T source, nuint elementOffset)

Parameters

source T
elementOffset nuint

Returns

T

Type Parameters

T

AreSame<T>(ref T, ref T)

public static bool AreSame<T>(ref T left, ref T right)

Parameters

left T
right T

Returns

bool

Type Parameters

T

AsPointer<T>(ref T)

public static void* AsPointer<T>(ref T value)

Parameters

value T

Returns

void*

Type Parameters

T

AsRef<T>(void*)

public static ref T AsRef<T>(void* source)

Parameters

source void*

Returns

T

Type Parameters

T

AsRef<T>(in T)

public static ref T AsRef<T>(in T source)

Parameters

source T

Returns

T

Type Parameters

T

As<T>(object)

public static T As<T>(object o) where T : class

Parameters

o object

Returns

T

Type Parameters

T

As<TFrom, TTo>(ref TFrom)

public static ref TTo As<TFrom, TTo>(ref TFrom source)

Parameters

source TFrom

Returns

TTo

Type Parameters

TFrom
TTo

ByteOffset<T>(ref T, ref T)

public static IntPtr ByteOffset<T>(ref T origin, ref T target)

Parameters

origin T
target T

Returns

IntPtr

Type Parameters

T

CopyBlock(ref byte, ref byte, uint)

public static void CopyBlock(ref byte destination, ref byte source, uint byteCount)

Parameters

destination byte
source byte
byteCount uint

CopyBlock(void*, void*, uint)

public static void CopyBlock(void* destination, void* source, uint byteCount)

Parameters

destination void*
source void*
byteCount uint

CopyBlockUnaligned(ref byte, ref byte, uint)

public static void CopyBlockUnaligned(ref byte destination, ref byte source, uint byteCount)

Parameters

destination byte
source byte
byteCount uint

CopyBlockUnaligned(void*, void*, uint)

public static void CopyBlockUnaligned(void* destination, void* source, uint byteCount)

Parameters

destination void*
source void*
byteCount uint

Copy<T>(void*, ref T)

public static void Copy<T>(void* destination, ref T source)

Parameters

destination void*
source T

Type Parameters

T

Copy<T>(ref T, void*)

public static void Copy<T>(ref T destination, void* source)

Parameters

destination T
source void*

Type Parameters

T

InitBlock(ref byte, byte, uint)

public static void InitBlock(ref byte startAddress, byte value, uint byteCount)

Parameters

startAddress byte
value byte
byteCount uint

InitBlock(void*, byte, uint)

public static void InitBlock(void* startAddress, byte value, uint byteCount)

Parameters

startAddress void*
value byte
byteCount uint

InitBlockUnaligned(ref byte, byte, uint)

public static void InitBlockUnaligned(ref byte startAddress, byte value, uint byteCount)

Parameters

startAddress byte
value byte
byteCount uint

InitBlockUnaligned(void*, byte, uint)

public static void InitBlockUnaligned(void* startAddress, byte value, uint byteCount)

Parameters

startAddress void*
value byte
byteCount uint

IsAddressGreaterThan<T>(ref T, ref T)

public static bool IsAddressGreaterThan<T>(ref T left, ref T right)

Parameters

left T
right T

Returns

bool

Type Parameters

T

IsAddressLessThan<T>(ref T, ref T)

public static bool IsAddressLessThan<T>(ref T left, ref T right)

Parameters

left T
right T

Returns

bool

Type Parameters

T

IsNullRef<T>(ref T)

public static bool IsNullRef<T>(ref T source)

Parameters

source T

Returns

bool

Type Parameters

T

NullRef<T>()

public static ref T NullRef<T>()

Returns

T

Type Parameters

T

ReadUnaligned<T>(ref byte)

public static T ReadUnaligned<T>(ref byte source)

Parameters

source byte

Returns

T

Type Parameters

T

ReadUnaligned<T>(void*)

public static T ReadUnaligned<T>(void* source)

Parameters

source void*

Returns

T

Type Parameters

T

Read<T>(void*)

public static T Read<T>(void* source)

Parameters

source void*

Returns

T

Type Parameters

T

SizeOf<T>()

public static int SizeOf<T>()

Returns

int

Type Parameters

T

SkipInit<T>(out T)

public static void SkipInit<T>(out T value)

Parameters

value T

Type Parameters

T

SubtractByteOffset<T>(ref T, IntPtr)

public static ref T SubtractByteOffset<T>(ref T source, IntPtr byteOffset)

Parameters

source T
byteOffset IntPtr

Returns

T

Type Parameters

T

SubtractByteOffset<T>(ref T, nuint)

public static ref T SubtractByteOffset<T>(ref T source, nuint byteOffset)

Parameters

source T
byteOffset nuint

Returns

T

Type Parameters

T

Subtract<T>(void*, int)

public static void* Subtract<T>(void* source, int elementOffset)

Parameters

source void*
elementOffset int

Returns

void*

Type Parameters

T

Subtract<T>(ref T, int)

public static ref T Subtract<T>(ref T source, int elementOffset)

Parameters

source T
elementOffset int

Returns

T

Type Parameters

T

Subtract<T>(ref T, IntPtr)

public static ref T Subtract<T>(ref T source, IntPtr elementOffset)

Parameters

source T
elementOffset IntPtr

Returns

T

Type Parameters

T

Subtract<T>(ref T, nuint)

public static ref T Subtract<T>(ref T source, nuint elementOffset)

Parameters

source T
elementOffset nuint

Returns

T

Type Parameters

T

Unbox<T>(object)

public static ref T Unbox<T>(object box) where T : struct

Parameters

box object

Returns

T

Type Parameters

T

WriteUnaligned<T>(ref byte, T)

public static void WriteUnaligned<T>(ref byte destination, T value)

Parameters

destination byte
value T

Type Parameters

T

WriteUnaligned<T>(void*, T)

public static void WriteUnaligned<T>(void* destination, T value)

Parameters

destination void*
value T

Type Parameters

T

Write<T>(void*, T)

public static void Write<T>(void* destination, T value)

Parameters

destination void*
value T

Type Parameters

T