IntPtr Struct
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer.
public value class IntPtr
public value class IntPtr : IComparable<IntPtr>, IEquatable<IntPtr>, IParsable<IntPtr>, ISpanParsable<IntPtr>, IUtf8SpanParsable<IntPtr>, System::Numerics::IAdditionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IAdditiveIdentity<IntPtr, IntPtr>, System::Numerics::IBinaryInteger<IntPtr>, System::Numerics::IBinaryNumber<IntPtr>, System::Numerics::IBitwiseOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IComparisonOperators<IntPtr, IntPtr, bool>, System::Numerics::IDecrementOperators<IntPtr>, System::Numerics::IDivisionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IEqualityOperators<IntPtr, IntPtr, bool>, System::Numerics::IIncrementOperators<IntPtr>, System::Numerics::IMinMaxValue<IntPtr>, System::Numerics::IModulusOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IMultiplicativeIdentity<IntPtr, IntPtr>, System::Numerics::IMultiplyOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::INumber<IntPtr>, System::Numerics::INumberBase<IntPtr>, System::Numerics::IShiftOperators<IntPtr, int, IntPtr>, System::Numerics::ISignedNumber<IntPtr>, System::Numerics::ISubtractionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IUnaryNegationOperators<IntPtr, IntPtr>, System::Numerics::IUnaryPlusOperators<IntPtr, IntPtr>, System::Runtime::Serialization::ISerializable
public value class IntPtr : IComparable, IComparable<IntPtr>, IEquatable<IntPtr>, IFormattable, System::Runtime::Serialization::ISerializable
public value class IntPtr : IComparable, IComparable<IntPtr>, IEquatable<IntPtr>, ISpanFormattable, System::Runtime::Serialization::ISerializable
public value class IntPtr : IComparable<IntPtr>, IEquatable<IntPtr>, IParsable<IntPtr>, ISpanParsable<IntPtr>, System::Numerics::IAdditionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IAdditiveIdentity<IntPtr, IntPtr>, System::Numerics::IBinaryInteger<IntPtr>, System::Numerics::IBinaryNumber<IntPtr>, System::Numerics::IBitwiseOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IComparisonOperators<IntPtr, IntPtr, bool>, System::Numerics::IDecrementOperators<IntPtr>, System::Numerics::IDivisionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IEqualityOperators<IntPtr, IntPtr, bool>, System::Numerics::IIncrementOperators<IntPtr>, System::Numerics::IMinMaxValue<IntPtr>, System::Numerics::IModulusOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IMultiplicativeIdentity<IntPtr, IntPtr>, System::Numerics::IMultiplyOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::INumber<IntPtr>, System::Numerics::INumberBase<IntPtr>, System::Numerics::IShiftOperators<IntPtr, int, IntPtr>, System::Numerics::ISignedNumber<IntPtr>, System::Numerics::ISubtractionOperators<IntPtr, IntPtr, IntPtr>, System::Numerics::IUnaryNegationOperators<IntPtr, IntPtr>, System::Numerics::IUnaryPlusOperators<IntPtr, IntPtr>, System::Runtime::Serialization::ISerializable
public value class IntPtr : IEquatable<IntPtr>, System::Runtime::Serialization::ISerializable
public value class IntPtr : System::Runtime::Serialization::ISerializable
public struct IntPtr
public readonly struct IntPtr : IComparable<IntPtr>, IEquatable<IntPtr>, IParsable<IntPtr>, ISpanParsable<IntPtr>, IUtf8SpanParsable<IntPtr>, System.Numerics.IAdditionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IAdditiveIdentity<IntPtr,IntPtr>, System.Numerics.IBinaryInteger<IntPtr>, System.Numerics.IBinaryNumber<IntPtr>, System.Numerics.IBitwiseOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IComparisonOperators<IntPtr,IntPtr,bool>, System.Numerics.IDecrementOperators<IntPtr>, System.Numerics.IDivisionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IEqualityOperators<IntPtr,IntPtr,bool>, System.Numerics.IIncrementOperators<IntPtr>, System.Numerics.IMinMaxValue<IntPtr>, System.Numerics.IModulusOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IMultiplicativeIdentity<IntPtr,IntPtr>, System.Numerics.IMultiplyOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.INumber<IntPtr>, System.Numerics.INumberBase<IntPtr>, System.Numerics.IShiftOperators<IntPtr,int,IntPtr>, System.Numerics.ISignedNumber<IntPtr>, System.Numerics.ISubtractionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IUnaryNegationOperators<IntPtr,IntPtr>, System.Numerics.IUnaryPlusOperators<IntPtr,IntPtr>, System.Runtime.Serialization.ISerializable
public readonly struct IntPtr : IComparable, IComparable<IntPtr>, IEquatable<IntPtr>, IFormattable, System.Runtime.Serialization.ISerializable
public readonly struct IntPtr : IComparable, IComparable<IntPtr>, IEquatable<IntPtr>, ISpanFormattable, System.Runtime.Serialization.ISerializable
public readonly struct IntPtr : IComparable<IntPtr>, IEquatable<IntPtr>, IParsable<IntPtr>, ISpanParsable<IntPtr>, System.Numerics.IAdditionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IAdditiveIdentity<IntPtr,IntPtr>, System.Numerics.IBinaryInteger<IntPtr>, System.Numerics.IBinaryNumber<IntPtr>, System.Numerics.IBitwiseOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IComparisonOperators<IntPtr,IntPtr,bool>, System.Numerics.IDecrementOperators<IntPtr>, System.Numerics.IDivisionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IEqualityOperators<IntPtr,IntPtr,bool>, System.Numerics.IIncrementOperators<IntPtr>, System.Numerics.IMinMaxValue<IntPtr>, System.Numerics.IModulusOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IMultiplicativeIdentity<IntPtr,IntPtr>, System.Numerics.IMultiplyOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.INumber<IntPtr>, System.Numerics.INumberBase<IntPtr>, System.Numerics.IShiftOperators<IntPtr,int,IntPtr>, System.Numerics.ISignedNumber<IntPtr>, System.Numerics.ISubtractionOperators<IntPtr,IntPtr,IntPtr>, System.Numerics.IUnaryNegationOperators<IntPtr,IntPtr>, System.Numerics.IUnaryPlusOperators<IntPtr,IntPtr>, System.Runtime.Serialization.ISerializable
public struct IntPtr : IEquatable<IntPtr>, System.Runtime.Serialization.ISerializable
public readonly struct IntPtr : IEquatable<IntPtr>, System.Runtime.Serialization.ISerializable
[System.Serializable]
public struct IntPtr : System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct IntPtr : System.Runtime.Serialization.ISerializable
public struct IntPtr : System.Runtime.Serialization.ISerializable
type nativeint = struct
type nativeint = struct
interface IFormattable
interface IParsable<nativeint>
interface ISpanFormattable
interface ISpanParsable<nativeint>
interface IUtf8SpanFormattable
interface IUtf8SpanParsable<nativeint>
interface IAdditionOperators<nativeint, nativeint, nativeint>
interface IAdditiveIdentity<nativeint, nativeint>
interface IBinaryInteger<nativeint>
interface IBinaryNumber<nativeint>
interface IBitwiseOperators<nativeint, nativeint, nativeint>
interface IComparisonOperators<nativeint, nativeint, bool>
interface IEqualityOperators<nativeint, nativeint, bool>
interface IDecrementOperators<nativeint>
interface IDivisionOperators<nativeint, nativeint, nativeint>
interface IIncrementOperators<nativeint>
interface IModulusOperators<nativeint, nativeint, nativeint>
interface IMultiplicativeIdentity<nativeint, nativeint>
interface IMultiplyOperators<nativeint, nativeint, nativeint>
interface INumber<nativeint>
interface INumberBase<nativeint>
interface ISubtractionOperators<nativeint, nativeint, nativeint>
interface IUnaryNegationOperators<nativeint, nativeint>
interface IUnaryPlusOperators<nativeint, nativeint>
interface IShiftOperators<nativeint, int, nativeint>
interface IMinMaxValue<nativeint>
interface ISignedNumber<nativeint>
interface ISerializable
type nativeint = struct
interface IFormattable
interface ISerializable
type nativeint = struct
interface ISpanFormattable
interface IFormattable
interface ISerializable
type nativeint = struct
interface IFormattable
interface IParsable<nativeint>
interface ISpanFormattable
interface ISpanParsable<nativeint>
interface IAdditionOperators<nativeint, nativeint, nativeint>
interface IAdditiveIdentity<nativeint, nativeint>
interface IBinaryInteger<nativeint>
interface IBinaryNumber<nativeint>
interface IBitwiseOperators<nativeint, nativeint, nativeint>
interface IComparisonOperators<nativeint, nativeint, bool>
interface IEqualityOperators<nativeint, nativeint, bool>
interface IDecrementOperators<nativeint>
interface IDivisionOperators<nativeint, nativeint, nativeint>
interface IIncrementOperators<nativeint>
interface IModulusOperators<nativeint, nativeint, nativeint>
interface IMultiplicativeIdentity<nativeint, nativeint>
interface IMultiplyOperators<nativeint, nativeint, nativeint>
interface INumber<nativeint>
interface INumberBase<nativeint>
interface ISubtractionOperators<nativeint, nativeint, nativeint>
interface IUnaryNegationOperators<nativeint, nativeint>
interface IUnaryPlusOperators<nativeint, nativeint>
interface IShiftOperators<nativeint, int, nativeint>
interface IMinMaxValue<nativeint>
interface ISignedNumber<nativeint>
interface ISerializable
type nativeint = struct
interface IFormattable
interface IParsable<nativeint>
interface ISpanFormattable
interface ISpanParsable<nativeint>
interface IAdditionOperators<nativeint, nativeint, nativeint>
interface IAdditiveIdentity<nativeint, nativeint>
interface IBinaryInteger<nativeint>
interface IBinaryNumber<nativeint>
interface IBitwiseOperators<nativeint, nativeint, nativeint>
interface IComparisonOperators<nativeint, nativeint, bool>
interface IEqualityOperators<nativeint, nativeint, bool>
interface IDecrementOperators<nativeint>
interface IDivisionOperators<nativeint, nativeint, nativeint>
interface IIncrementOperators<nativeint>
interface IModulusOperators<nativeint, nativeint, nativeint>
interface IMultiplicativeIdentity<nativeint, nativeint>
interface IMultiplyOperators<nativeint, nativeint, nativeint>
interface INumber<nativeint>
interface INumberBase<nativeint>
interface ISubtractionOperators<nativeint, nativeint, nativeint>
interface IUnaryNegationOperators<nativeint, nativeint>
interface IUnaryPlusOperators<nativeint, nativeint>
interface IUtf8SpanFormattable
interface IUtf8SpanParsable<nativeint>
interface IShiftOperators<nativeint, int, nativeint>
interface IMinMaxValue<nativeint>
interface ISignedNumber<nativeint>
interface ISerializable
type nativeint = struct
interface ISerializable
[<System.Serializable>]
type nativeint = struct
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type nativeint = struct
interface ISerializable
Public Structure IntPtr
Public Structure IntPtr
Implements IAdditionOperators(Of IntPtr, IntPtr, IntPtr), IAdditiveIdentity(Of IntPtr, IntPtr), IBinaryInteger(Of IntPtr), IBinaryNumber(Of IntPtr), IBitwiseOperators(Of IntPtr, IntPtr, IntPtr), IComparable(Of IntPtr), IComparisonOperators(Of IntPtr, IntPtr, Boolean), IDecrementOperators(Of IntPtr), IDivisionOperators(Of IntPtr, IntPtr, IntPtr), IEqualityOperators(Of IntPtr, IntPtr, Boolean), IEquatable(Of IntPtr), IIncrementOperators(Of IntPtr), IMinMaxValue(Of IntPtr), IModulusOperators(Of IntPtr, IntPtr, IntPtr), IMultiplicativeIdentity(Of IntPtr, IntPtr), IMultiplyOperators(Of IntPtr, IntPtr, IntPtr), INumber(Of IntPtr), INumberBase(Of IntPtr), IParsable(Of IntPtr), ISerializable, IShiftOperators(Of IntPtr, Integer, IntPtr), ISignedNumber(Of IntPtr), ISpanParsable(Of IntPtr), ISubtractionOperators(Of IntPtr, IntPtr, IntPtr), IUnaryNegationOperators(Of IntPtr, IntPtr), IUnaryPlusOperators(Of IntPtr, IntPtr), IUtf8SpanParsable(Of IntPtr)
Public Structure IntPtr
Implements IComparable, IComparable(Of IntPtr), IEquatable(Of IntPtr), IFormattable, ISerializable
Public Structure IntPtr
Implements IComparable, IComparable(Of IntPtr), IEquatable(Of IntPtr), ISerializable, ISpanFormattable
Public Structure IntPtr
Implements IAdditionOperators(Of IntPtr, IntPtr, IntPtr), IAdditiveIdentity(Of IntPtr, IntPtr), IBinaryInteger(Of IntPtr), IBinaryNumber(Of IntPtr), IBitwiseOperators(Of IntPtr, IntPtr, IntPtr), IComparable(Of IntPtr), IComparisonOperators(Of IntPtr, IntPtr, Boolean), IDecrementOperators(Of IntPtr), IDivisionOperators(Of IntPtr, IntPtr, IntPtr), IEqualityOperators(Of IntPtr, IntPtr, Boolean), IEquatable(Of IntPtr), IIncrementOperators(Of IntPtr), IMinMaxValue(Of IntPtr), IModulusOperators(Of IntPtr, IntPtr, IntPtr), IMultiplicativeIdentity(Of IntPtr, IntPtr), IMultiplyOperators(Of IntPtr, IntPtr, IntPtr), INumber(Of IntPtr), INumberBase(Of IntPtr), IParsable(Of IntPtr), ISerializable, IShiftOperators(Of IntPtr, Integer, IntPtr), ISignedNumber(Of IntPtr), ISpanParsable(Of IntPtr), ISubtractionOperators(Of IntPtr, IntPtr, IntPtr), IUnaryNegationOperators(Of IntPtr, IntPtr), IUnaryPlusOperators(Of IntPtr, IntPtr)
Public Structure IntPtr
Implements IEquatable(Of IntPtr), ISerializable
Public Structure IntPtr
Implements ISerializable
- Overname
- Kenmerken
- Implementeringen
-
IComparable IComparable<IntPtr> IComparable<TSelf> IEquatable<IntPtr> IEquatable<TSelf> IFormattable IParsable<IntPtr> IParsable<TSelf> ISpanFormattable ISpanParsable<IntPtr> ISpanParsable<TSelf> IUtf8SpanFormattable IUtf8SpanParsable<IntPtr> IUtf8SpanParsable<TSelf> IAdditionOperators<IntPtr,IntPtr,IntPtr> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<IntPtr,IntPtr> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<IntPtr> IBinaryNumber<IntPtr> IBinaryNumber<TSelf> IBitwiseOperators<IntPtr,IntPtr,IntPtr> IBitwiseOperators<TSelf,TSelf,TSelf> IComparisonOperators<IntPtr,IntPtr,Boolean> IComparisonOperators<TSelf,TSelf,Boolean> IDecrementOperators<IntPtr> IDecrementOperators<TSelf> IDivisionOperators<IntPtr,IntPtr,IntPtr> IDivisionOperators<TSelf,TSelf,TSelf> IEqualityOperators<IntPtr,IntPtr,Boolean> IEqualityOperators<TSelf,TOther,TResult> IEqualityOperators<TSelf,TSelf,Boolean> IIncrementOperators<IntPtr> IIncrementOperators<TSelf> IMinMaxValue<IntPtr> IModulusOperators<IntPtr,IntPtr,IntPtr> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<IntPtr,IntPtr> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<IntPtr,IntPtr,IntPtr> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<IntPtr> INumber<TSelf> INumberBase<IntPtr> INumberBase<TSelf> IShiftOperators<IntPtr,Int32,IntPtr> IShiftOperators<TSelf,Int32,TSelf> ISignedNumber<IntPtr> ISubtractionOperators<IntPtr,IntPtr,IntPtr> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<IntPtr,IntPtr> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<IntPtr,IntPtr> IUnaryPlusOperators<TSelf,TSelf> ISerializable
Voorbeelden
In het volgende voorbeeld worden beheerde aanwijzers gebruikt om de tekens in een matrix om te draaien. Nadat een String object is geïnitialiseerd en de lengte ervan heeft opgehaald, doet het het volgende:
Roept de Marshal.StringToHGlobalAnsi methode aan om de Unicode-tekenreeks te kopiëren naar onbeheerd geheugen als een ANSI-teken (een-byte). De methode retourneert een IntPtr object dat verwijst naar het begin van de onbeheerde tekenreeks. In het Visual Basic voorbeeld wordt deze aanwijzer rechtstreeks gebruikt. In de voorbeelden C++, F# en C# wordt deze naar een byte gecast.
Roept de Marshal.AllocHGlobal methode aan om hetzelfde aantal bytes toe te wijzen als de niet-beheerde tekenreeks in beslag neemt. De methode retourneert een IntPtr object dat verwijst naar het begin van het onbeheerde geheugenblok. In het Visual Basic voorbeeld wordt deze aanwijzer rechtstreeks gebruikt. In de voorbeelden C++, F# en C# wordt deze naar een byte gecast.
Het Visual Basic voorbeeld definieert een variabele met de naam
offsetdie gelijk is aan de lengte van de ANSI-tekenreeks. Deze wordt gebruikt om de verschuiving te bepalen in onbeheerd geheugen waarnaar het volgende teken in de ANSI-tekenreeks wordt gekopieerd. Omdat de beginwaarde de lengte van de tekenreeks is, kopieert de kopieerbewerking een teken van het begin van de tekenreeks naar het einde van het geheugenblok.De C#-, F#- en C++-voorbeelden roepen de ToPointer methode aan om een niet-beheerde aanwijzer op te halen naar het beginadres van de tekenreeks en het niet-beheerde geheugenblok, en ze voegen er één toe die kleiner is dan de lengte van de tekenreeks aan het beginadres van de ANSI-tekenreeks. Omdat de niet-beheerde tekenreeks aanwijzer nu verwijst naar het einde van de tekenreeks, kopieert de kopieerbewerking een teken van het einde van de tekenreeks naar het begin van het geheugenblok.
Hiermee wordt een lus gebruikt om elk teken van de tekenreeks naar het niet-beheerde geheugenblok te kopiëren.
In het Visual Basic voorbeeld wordt de methode Marshal.ReadByte(IntPtr, Int32) aangeroepen om het byteteken (of een-byteteken) te lezen op een opgegeven offset van de beheerde aanwijzer naar de ANSI-tekenreeks. De offset wordt verhoogd met elke iteratie van de lus. Vervolgens wordt de Marshal.WriteByte(IntPtr, Int32, Byte) methode aangeroepen om de byte naar het geheugenadres te schrijven dat is gedefinieerd door het beginadres van het niet-beheerde blok geheugen plus
offset. Vervolgens wordt het afschroevenoffset.De voorbeelden C#, F# en C++ voeren de kopieerbewerking uit en verlagen de aanwijzer vervolgens naar het adres van de volgende locatie in de niet-beheerde ANSI-tekenreeks en verhogen de aanwijzer naar het volgende adres in het niet-beheerde blok.
Alle voorbeelden roepen het Marshal.PtrToStringAnsi aan om het niet-beheerde geheugenblok met de gekopieerde ANSI-tekenreeks te converteren naar een beheerd Unicode-object String .
Nadat de oorspronkelijke en omgekeerde tekenreeksen zijn weergegeven, roepen alle voorbeelden de FreeHGlobal methode aan om het geheugen vrij te maken dat is toegewezen voor de niet-beheerde ANSI-tekenreeks en het onbeheerde geheugenblok.
using namespace System;
using namespace System::Runtime::InteropServices;
class NotTooSafeStringReverse
{
public:
static void Main()
{
String^ stringA = "I seem to be turned around!";
int copylen = stringA->Length;
// Allocate HGlobal memory for source and destination strings
IntPtr sptr = Marshal::StringToHGlobalAnsi(stringA);
IntPtr dptr = Marshal::AllocHGlobal(copylen + 1);
char *src = (char *)sptr.ToPointer();
char *dst = (char *)dptr.ToPointer();
if (copylen > 0)
{
// set the source pointer to the end of the string
// to do a reverse copy.
src += copylen - 1;
while (copylen-- > 0)
{
*dst++ = *src--;
}
*dst = 0;
}
String^ stringB = Marshal::PtrToStringAnsi(dptr);
Console::WriteLine("Original:\n{0}\n", stringA);
Console::WriteLine("Reversed:\n{0}", stringB);
// Free HGlobal memory
Marshal::FreeHGlobal(dptr);
Marshal::FreeHGlobal(sptr);
}
};
int main()
{
NotTooSafeStringReverse::Main();
}
// The progam has the following output:
//
// Original:
// I seem to be turned around!
//
// Reversed:
// !dnuora denrut eb ot mees I
using System;
using System.Runtime.InteropServices;
class NotTooSafeStringReverse
{
static public void Main()
{
string stringA = "I seem to be turned around!";
int copylen = stringA.Length;
// Allocate HGlobal memory for source and destination strings
IntPtr sptr = Marshal.StringToHGlobalAnsi(stringA);
IntPtr dptr = Marshal.AllocHGlobal(copylen + 1);
// The unsafe section where byte pointers are used.
unsafe
{
byte *src = (byte *)sptr.ToPointer();
byte *dst = (byte *)dptr.ToPointer();
if (copylen > 0)
{
// set the source pointer to the end of the string
// to do a reverse copy.
src += copylen - 1;
while (copylen-- > 0)
{
*dst++ = *src--;
}
*dst = 0;
}
}
string stringB = Marshal.PtrToStringAnsi(dptr);
Console.WriteLine("Original:\n{0}\n", stringA);
Console.WriteLine("Reversed:\n{0}", stringB);
// Free HGlobal memory
Marshal.FreeHGlobal(dptr);
Marshal.FreeHGlobal(sptr);
}
}
// The progam has the following output:
//
// Original:
// I seem to be turned around!
//
// Reversed:
// !dnuora denrut eb ot mees I
#nowarn "9"
open System.Runtime.InteropServices
open FSharp.NativeInterop
[<EntryPoint>]
let main _ =
let stringA = "I seem to be turned around!"
let mutable copylen = stringA.Length
// Allocate HGlobal memory for source and destination strings
let sptr = Marshal.StringToHGlobalAnsi stringA
let dptr = Marshal.AllocHGlobal(copylen + 1)
let mutable src: byte nativeptr = sptr.ToPointer() |> NativePtr.ofVoidPtr
let mutable dst: byte nativeptr = dptr.ToPointer() |> NativePtr.ofVoidPtr
if copylen > 0 then
// set the source pointer to the end of the string
// to do a reverse copy.
src <-
NativePtr.toNativeInt src + nativeint (copylen - 1)
|> NativePtr.ofNativeInt
while copylen > 0 do
copylen <- copylen - 1
NativePtr.read src |> NativePtr.write dst
dst <- NativePtr.toNativeInt dst + 1n |> NativePtr.ofNativeInt
src <- NativePtr.toNativeInt src - 1n |> NativePtr.ofNativeInt
NativePtr.write dst 0uy
let stringB = Marshal.PtrToStringAnsi dptr
printfn $"Original:\n{stringA}\n"
printfn $"Reversed:\n{stringB}"
// Free HGlobal memory
Marshal.FreeHGlobal dptr
Marshal.FreeHGlobal sptr
0
// The progam has the following output:
//
// Original:
// I seem to be turned around!
//
// Reversed:
// !dnuora denrut eb ot mees I
Imports System.Runtime.InteropServices
Public Module Example
Public Sub Main()
Dim stringA As String = "I seem to be turned around!"
Dim copylen As Integer = stringA.Length
' Allocate HGlobal memory for source and destination strings
Dim sptr As IntPtr = Marshal.StringToHGlobalAnsi(stringA)
Dim dptr As IntPtr = Marshal.AllocHGlobal(copylen)
Dim offset As Integer = copylen - 1
For ctr As Integer = 0 To copylen - 1
Dim b As Byte = Marshal.ReadByte(sptr, ctr)
Marshal.WriteByte(dptr, offset, b)
offset -= 1
Next
Dim stringB As String = Marshal.PtrToStringAnsi(dptr)
Console.WriteLine("Original:{1}{0}{1}", stringA, vbCrLf)
Console.WriteLine("Reversed:{1}{0}{1}", stringB, vbCrLf)
' Free HGlobal memory
Marshal.FreeHGlobal(dptr)
Marshal.FreeHGlobal(sptr)
End Sub
End Module
' The example displays the following output:
' Original:
' I seem to be turned around!
'
' Reversed:
' !dnuora denrut eb ot mees I
Opmerkingen
Het IntPtr type is ontworpen als een geheel getal waarvan de grootte gelijk is aan een aanwijzer. Een exemplaar van dit type is naar verwachting 32 bits in een 32-bits proces en 64 bits in een 64-bits proces.
Het IntPtr type kan worden gebruikt door talen die pointers ondersteunen en als algemene manier om te verwijzen naar gegevens tussen talen die wel en geen ondersteuning bieden voor verwijzingen.
IntPtr objecten kunnen ook worden gebruikt voor het opslaan van ingangen. Exemplaren van worden bijvoorbeeld uitgebreid gebruikt in de IntPtr klasse voor het opslaan van System.IO.FileStream bestandsingangen.
Note
Het gebruik IntPtr als aanwijzer of een ingang is foutgevoelig en onveilig. Het is gewoon een geheel getaltype dat kan worden gebruikt als een uitwisselingsindeling voor aanwijzers en ingangen vanwege dezelfde grootte. Buiten specifieke uitwisselingsvereisten, zoals voor het doorgeven van gegevens aan een taal die geen aanwijzers ondersteunt, moet een correct getypte aanwijzer worden gebruikt om aanwijzers weer te geven en SafeHandle moet worden gebruikt om ingangen weer te geven.
Met dit type wordt de ISerializable. In .NET 5- en latere versies implementeert dit type ook de interfaces IFormattable. In .NET 7 en latere versies implementeert dit type ook de interfaces IBinaryInteger<TSelf>, IMinMaxValue<TSelf> en ISignedNumber<TSelf>.
In C# vanaf versie 9.0 kunt u het ingebouwde nint type gebruiken om gehele getallen van systeemeigen grootte te definiëren. Dit type wordt intern vertegenwoordigd door het IntPtr type en biedt bewerkingen en conversies die geschikt zijn voor gehele getallen. Zie nint- en nuint-typen voor meer informatie.
In C# vanaf versie 11 en bij het doel van de runtime .NET 7 of hoger is nint een alias voor IntPtr op dezelfde manier dat int een alias is voor Int32.
Constructors
| Name | Description |
|---|---|
| IntPtr(Int32) |
Initialiseert een nieuw exemplaar van IntPtr het opgegeven 32-bits ondertekende gehele getal. |
| IntPtr(Int64) |
Initialiseert een nieuw exemplaar van IntPtr het opgegeven 64-bits ondertekende gehele getal. |
| IntPtr(Void*) |
Initialiseert een nieuw exemplaar van het gebruik van IntPtr de opgegeven aanwijzer naar een niet-opgegeven type. |
Velden
| Name | Description |
|---|---|
| Zero |
Een alleen-lezenveld dat een ondertekend geheel getal vertegenwoordigt dat is geïnitialiseerd tot nul. |
Eigenschappen
| Name | Description |
|---|---|
| MaxValue |
Haalt de grootst mogelijke waarde van IntPtr. |
| MinValue |
Haalt de kleinste mogelijke waarde van IntPtr. |
| Size |
Hiermee haalt u de grootte van dit exemplaar op. |
Methoden
| Name | Description |
|---|---|
| Abs(IntPtr) |
Berekent de absolute waarde van een waarde. |
| Add(IntPtr, Int32) |
Hiermee voegt u een offset toe aan een ondertekend geheel getal. |
| BigMul(IntPtr, IntPtr, IntPtr) |
Produceert het volledige product van twee niet-ondertekende systeemeigen gehele getallen. |
| Clamp(IntPtr, IntPtr, IntPtr) |
Klemmen een waarde tot een inclusieve minimum- en maximumwaarde. |
| CompareTo(IntPtr) |
Vergelijkt het huidige exemplaar met een ander object van hetzelfde type en retourneert een geheel getal dat aangeeft of de huidige instantie voorafgaat aan, volgt of zich op dezelfde positie in de sorteervolgorde bevindt als het andere object. |
| CompareTo(Object) |
Vergelijkt het huidige exemplaar met een ander object van hetzelfde type en retourneert een geheel getal dat aangeeft of de huidige instantie voorafgaat aan, volgt of zich op dezelfde positie in de sorteervolgorde bevindt als het andere object. |
| CopySign(IntPtr, IntPtr) |
Kopieert het teken van een waarde naar het teken van een andere waarde. |
| CreateChecked<TOther>(TOther) |
Hiermee maakt u een exemplaar van het huidige type op basis van een waarde en genereert u een overloopuitzondering voor waarden die buiten het vertegenwoordigbare bereik van het huidige type vallen. |
| CreateSaturating<TOther>(TOther) |
Hiermee maakt u een exemplaar van het huidige type op basis van een waarde, waarbij alle waarden die buiten het vertegenwoordigbare bereik van het huidige type vallen, worden verzadiging weergegeven. |
| CreateTruncating<TOther>(TOther) |
Hiermee maakt u een exemplaar van het huidige type op basis van een waarde, waarbij alle waarden worden afgekapt die buiten het vertegenwoordigbare bereik van het huidige type vallen. |
| DivRem(IntPtr, IntPtr) |
Berekent het quotiënt en de rest van twee waarden. |
| Equals(IntPtr) |
Hiermee wordt aangegeven of het huidige object gelijk is aan een ander object van hetzelfde type. |
| Equals(Object) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object. |
| GetHashCode() |
Retourneert de hash-code voor dit exemplaar. |
| IsEvenInteger(IntPtr) |
Bepaalt of een waarde een even integraal getal vertegenwoordigt. |
| IsNegative(IntPtr) |
Bepaalt of een waarde negatief is. |
| IsOddInteger(IntPtr) |
Bepaalt of een waarde een oneven integraal getal vertegenwoordigt. |
| IsPositive(IntPtr) |
Bepaalt of een waarde positief is. |
| IsPow2(IntPtr) |
Bepaalt of een waarde een macht van twee is. |
| LeadingZeroCount(IntPtr) |
Berekent het aantal voorloopnullen in een waarde. |
| Log10(IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| Log2(IntPtr) |
Berekent het logboek2 van een waarde. |
| Max(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die groter zijn. |
| MaxMagnitude(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die groter zijn. |
| Min(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die kleiner zijn. |
| MinMagnitude(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die kleiner zijn. |
| Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Parseert een reeks UTF-8 tekens in een waarde. |
| Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Parseert een reeks UTF-8 tekens in een waarde. |
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Parseert een reeks tekens in een waarde. |
| Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Converteert de alleen-lezen reeks tekens van een getal in een opgegeven stijl en cultuurspecifieke notatie naar het ondertekende systeemeigen gehele getal. |
| Parse(String, IFormatProvider) |
Converteert de tekenreeksweergave van een getal in een opgegeven cultuurspecifieke notatie naar het equivalent van het ondertekende systeemeigen gehele getal. |
| Parse(String, NumberStyles, IFormatProvider) |
Converteert de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie naar het equivalent van het ondertekende systeemeigen gehele getal. |
| Parse(String, NumberStyles) |
Converteert de tekenreeksweergave van een getal in een opgegeven stijl naar het equivalent van het ondertekende systeemeigen gehele getal. |
| Parse(String) |
Converteert de tekenreeksweergave van een getal naar het equivalent van het ondertekende systeemeigen gehele getal. |
| PopCount(IntPtr) |
Berekent het aantal bits dat in een waarde is ingesteld. |
| RotateLeft(IntPtr, Int32) |
Hiermee draait u een waarde naar links met een bepaald bedrag. |
| RotateRight(IntPtr, Int32) |
Hiermee draait u een waarde naar rechts met een bepaald bedrag. |
| Sign(IntPtr) |
Berekent het teken van een waarde. |
| Subtract(IntPtr, Int32) |
Trekt een verschuiving af van een ondertekend geheel getal. |
| ToInt32() |
Converteert de waarde van dit exemplaar naar een 32-bits geheel getal dat is ondertekend. |
| ToInt64() |
Converteert de waarde van dit exemplaar naar een 64-bits geheel getal dat is ondertekend. |
| ToPointer() |
Converteert de waarde van dit exemplaar naar een aanwijzer naar een niet-opgegeven type. |
| ToString() |
Converteert de numerieke waarde van het huidige IntPtr object naar de equivalente tekenreeksweergave. |
| ToString(IFormatProvider) |
Converteert de numerieke waarde van dit exemplaar naar de equivalente tekenreeksweergave met behulp van de opgegeven indeling en cultuurspecifieke notatiegegevens. |
| ToString(String, IFormatProvider) |
Hiermee wordt de waarde van het huidige exemplaar opgemaakt met behulp van de opgegeven indeling. |
| ToString(String) |
Converteert de numerieke waarde van het huidige IntPtr object naar de equivalente tekenreeksweergave. |
| TrailingZeroCount(IntPtr) |
Berekent het aantal volgnullen in een waarde. |
| TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Probeert de waarde van het huidige exemplaar op te maken als UTF-8 in het opgegeven bereik van bytes. |
| TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Probeert de waarde van het huidige exemplaar op te maken in de opgegeven reeks tekens. |
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, IntPtr) |
Probeert een reeks UTF-8 tekens te parseren in een waarde. |
| TryParse(ReadOnlySpan<Byte>, IntPtr) |
Hiermee wordt geprobeerd een UTF-8-tekenbereik te converteren dat de tekenreeksweergave van een getal bevat naar het equivalent van het ondertekende gehele getal. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, IntPtr) |
Probeert een reeks UTF-8 tekens te parseren in een waarde. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, IntPtr) |
Probeert een tekenreeks te parseren in een waarde. |
| TryParse(ReadOnlySpan<Char>, IntPtr) |
Converteert de alleen-lezen periode van tekens van een getal naar het bijbehorende systeemeigen gehele getal. Een retourwaarde geeft aan of de conversie is geslaagd. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, IntPtr) |
Converteert de alleen-lezen reeks tekens van een getal in een opgegeven stijl en cultuurspecifieke notatie naar het ondertekende systeemeigen gehele getal. Een retourwaarde geeft aan of de conversie is geslaagd. |
| TryParse(String, IFormatProvider, IntPtr) |
Probeert een tekenreeks te parseren in een waarde. |
| TryParse(String, IntPtr) |
Converteert de tekenreeksweergave van een getal naar het equivalent van het ondertekende systeemeigen gehele getal. Een retourwaarde geeft aan of de conversie is geslaagd. |
| TryParse(String, NumberStyles, IFormatProvider, IntPtr) |
Converteert de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie naar het equivalent van het ondertekende systeemeigen gehele getal. Een retourwaarde geeft aan of de conversie is geslaagd. |
Operators
| Name | Description |
|---|---|
| Addition(IntPtr, Int32) |
Hiermee voegt u een offset toe aan een ondertekend geheel getal. |
| Equality(IntPtr, IntPtr) |
Bepaalt of twee opgegeven exemplaren IntPtr gelijk zijn. |
| Explicit(Int32 to IntPtr) |
Converteert de waarde van een 32-bits geheel getal met teken naar een IntPtr. |
| Explicit(Int64 to IntPtr) |
Converteert de waarde van een 64-bits geheel getal met teken naar een IntPtr. |
| Explicit(IntPtr to Int32) |
Converteert de waarde van het opgegeven IntPtr getal naar een 32-bits geheel getal dat is ondertekend. |
| Explicit(IntPtr to Int64) |
Converteert de waarde van het opgegeven IntPtr getal naar een 64-bits ondertekend geheel getal. |
| Explicit(IntPtr to Void*) |
Converteert de waarde van de opgegeven IntPtr waarde naar een aanwijzer naar een niet-opgegeven type. Deze API is niet CLS-conform. |
| Explicit(Void* to IntPtr) |
Converteert de opgegeven aanwijzer naar een niet-opgegeven type naar een IntPtr. Deze API is niet CLS-conform. |
| Inequality(IntPtr, IntPtr) |
Bepaalt of twee opgegeven exemplaren IntPtr niet gelijk zijn. |
| Subtraction(IntPtr, Int32) |
Trekt een verschuiving af van een ondertekend geheel getal. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IAdditionOperators<IntPtr,IntPtr,IntPtr>.Addition(IntPtr, IntPtr) |
Voegt twee waarden samen om de som te berekenen. |
| IAdditionOperators<IntPtr,IntPtr,IntPtr>.CheckedAddition(IntPtr, IntPtr) |
Voegt twee waarden samen om de som te berekenen. |
| IAdditiveIdentity<IntPtr,IntPtr>.AdditiveIdentity |
Hiermee haalt u de additieve identiteit van het huidige type op. |
| IBinaryInteger<IntPtr>.GetByteCount() |
Hiermee haalt u het aantal bytes op dat wordt geschreven als onderdeel van TryWriteLittleEndian(Span<Byte>, Int32). |
| IBinaryInteger<IntPtr>.GetShortestBitLength() |
Hiermee haalt u de lengte, in bits, van de kortste twee's complementweergave van de huidige waarde op. |
| IBinaryInteger<IntPtr>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| IBinaryInteger<IntPtr>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| IBinaryInteger<IntPtr>.TryWriteBigEndian(Span<Byte>, Int32) |
Probeert de huidige waarde in big-endian-indeling naar een bepaalde periode te schrijven. |
| IBinaryInteger<IntPtr>.TryWriteLittleEndian(Span<Byte>, Int32) |
Probeert de huidige waarde in little-endian-indeling naar een bepaalde periode te schrijven. |
| IBinaryNumber<IntPtr>.AllBitsSet |
Hiermee haalt u een exemplaar op van het binaire type waarin alle bits zijn ingesteld. |
| IBitwiseOperators<IntPtr,IntPtr,IntPtr>.BitwiseAnd(IntPtr, IntPtr) |
Berekent de bitsgewijze en van twee waarden. |
| IBitwiseOperators<IntPtr,IntPtr,IntPtr>.BitwiseOr(IntPtr, IntPtr) |
Berekent de bitsgewijze of twee waarden. |
| IBitwiseOperators<IntPtr,IntPtr,IntPtr>.ExclusiveOr(IntPtr, IntPtr) |
Berekent de exclusieve of twee waarden. |
| IBitwiseOperators<IntPtr,IntPtr,IntPtr>.OnesComplement(IntPtr) |
Berekent de een-complementweergave van een bepaalde waarde. |
| IComparisonOperators<IntPtr,IntPtr,Boolean>.GreaterThan(IntPtr, IntPtr) |
Vergelijkt twee waarden om te bepalen welke groter is. |
| IComparisonOperators<IntPtr,IntPtr,Boolean>.GreaterThanOrEqual(IntPtr, IntPtr) |
Vergelijkt twee waarden om te bepalen welke groter of gelijk is. |
| IComparisonOperators<IntPtr,IntPtr,Boolean>.LessThan(IntPtr, IntPtr) |
Vergelijkt twee waarden om te bepalen welke kleiner is. |
| IComparisonOperators<IntPtr,IntPtr,Boolean>.LessThanOrEqual(IntPtr, IntPtr) |
Vergelijkt twee waarden om te bepalen welke kleiner of gelijk is. |
| IDecrementOperators<IntPtr>.CheckedDecrement(IntPtr) |
Een waarde verlagen. |
| IDecrementOperators<IntPtr>.Decrement(IntPtr) |
Een waarde verlagen. |
| IDivisionOperators<IntPtr,IntPtr,IntPtr>.Division(IntPtr, IntPtr) |
Verdeelt de ene waarde door een andere om het quotiënt te berekenen. |
| IEquatable<IntPtr>.Equals(IntPtr) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een ander ondertekend geheel getal. |
| IIncrementOperators<IntPtr>.CheckedIncrement(IntPtr) |
Hiermee wordt een waarde verhoogd. |
| IIncrementOperators<IntPtr>.Increment(IntPtr) |
Hiermee wordt een waarde verhoogd. |
| IMinMaxValue<IntPtr>.MaxValue |
Hiermee wordt de maximumwaarde van het huidige type opgehaald. |
| IMinMaxValue<IntPtr>.MinValue |
Hiermee wordt de minimumwaarde van het huidige type opgehaald. |
| IModulusOperators<IntPtr,IntPtr,IntPtr>.Modulus(IntPtr, IntPtr) |
Verdeelt twee waarden samen om hun modulus of restgetal te berekenen. |
| IMultiplicativeIdentity<IntPtr,IntPtr>.MultiplicativeIdentity |
Hiermee haalt u de vermenigvuldigende identiteit van het huidige type op. |
| IMultiplyOperators<IntPtr,IntPtr,IntPtr>.CheckedMultiply(IntPtr, IntPtr) |
Vermenigvuldigt twee waarden samen om het product te berekenen. |
| IMultiplyOperators<IntPtr,IntPtr,IntPtr>.Multiply(IntPtr, IntPtr) |
Vermenigvuldigt twee waarden samen om het product te berekenen. |
| INumber<IntPtr>.MaxNumber(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die groter zijn en de andere waarde retourneren als een invoer is |
| INumber<IntPtr>.MinNumber(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die kleiner zijn en de andere waarde retourneren als een invoer is |
| INumberBase<IntPtr>.IsCanonical(IntPtr) |
Bepaalt of een waarde zich in de canonieke weergave bevindt. |
| INumberBase<IntPtr>.IsComplexNumber(IntPtr) |
Bepaalt of een waarde een complex getal vertegenwoordigt. |
| INumberBase<IntPtr>.IsFinite(IntPtr) |
Bepaalt of een waarde eindig is. |
| INumberBase<IntPtr>.IsImaginaryNumber(IntPtr) |
Bepaalt of een waarde een puur imaginair getal vertegenwoordigt. |
| INumberBase<IntPtr>.IsInfinity(IntPtr) |
Bepaalt of een waarde oneindig is. |
| INumberBase<IntPtr>.IsInteger(IntPtr) |
Bepaalt of een waarde een integraal getal vertegenwoordigt. |
| INumberBase<IntPtr>.IsNaN(IntPtr) |
Bepaalt of een waarde NaN is. |
| INumberBase<IntPtr>.IsNegativeInfinity(IntPtr) |
Bepaalt of een waarde een negatief oneindigheid is. |
| INumberBase<IntPtr>.IsNormal(IntPtr) |
Bepaalt of een waarde normaal is. |
| INumberBase<IntPtr>.IsPositiveInfinity(IntPtr) |
Bepaalt of een waarde positief oneindig is. |
| INumberBase<IntPtr>.IsRealNumber(IntPtr) |
Bepaalt of een waarde een reëel getal vertegenwoordigt. |
| INumberBase<IntPtr>.IsSubnormal(IntPtr) |
Bepaalt of een waarde subnormaal is. |
| INumberBase<IntPtr>.IsZero(IntPtr) |
Bepaalt of een waarde nul is. |
| INumberBase<IntPtr>.MaxMagnitudeNumber(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die de grotere grootte hebben en de andere waarde retourneren als een invoer is |
| INumberBase<IntPtr>.MinMagnitudeNumber(IntPtr, IntPtr) |
Vergelijkt twee waarden met berekeningen die de lagere grootte hebben en de andere waarde retourneren als een invoer is |
| INumberBase<IntPtr>.MultiplyAddEstimate(IntPtr, IntPtr, IntPtr) |
Berekent een schatting van ( |
| INumberBase<IntPtr>.One |
Hiermee haalt u de waarde |
| INumberBase<IntPtr>.Radix |
Bepaalt de radix of basis voor een type. |
| INumberBase<IntPtr>.TryConvertFromChecked<TOther>(TOther, IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| INumberBase<IntPtr>.TryConvertFromSaturating<TOther>(TOther, IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| INumberBase<IntPtr>.TryConvertFromTruncating<TOther>(TOther, IntPtr) |
Vertegenwoordigt een ondertekend geheel getal waarbij de bitbreedte hetzelfde is als een aanwijzer. |
| INumberBase<IntPtr>.TryConvertToChecked<TOther>(IntPtr, TOther) |
Probeert een exemplaar van het huidige type te converteren naar een ander type, waardoor een overloop-uitzondering wordt gegenereerd voor waarden die buiten het vertegenwoordigbare bereik van het huidige type vallen. |
| INumberBase<IntPtr>.TryConvertToSaturating<TOther>(IntPtr, TOther) |
Hiermee wordt geprobeerd een exemplaar van het huidige type te converteren naar een ander type, waarbij alle waarden die buiten het vertegenwoordigbare bereik van het huidige type vallen, worden verzadigingswaarden weergegeven. |
| INumberBase<IntPtr>.TryConvertToTruncating<TOther>(IntPtr, TOther) |
Hiermee wordt geprobeerd een exemplaar van het huidige type te converteren naar een ander type, waarbij alle waarden worden afgekapt die buiten het vertegenwoordigbare bereik van het huidige type vallen. |
| INumberBase<IntPtr>.Zero |
Hiermee haalt u de waarde |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Hiermee wordt een SerializationInfo object gevuld met de gegevens die nodig zijn om het huidige IntPtr object te serialiseren. |
| IShiftOperators<IntPtr,Int32,IntPtr>.LeftShift(IntPtr, Int32) |
Hiermee verschuift u een waarde naar links met een bepaald bedrag. |
| IShiftOperators<IntPtr,Int32,IntPtr>.RightShift(IntPtr, Int32) |
Hiermee wordt een waarde naar rechts verplaatst met een bepaald bedrag. |
| IShiftOperators<IntPtr,Int32,IntPtr>.UnsignedRightShift(IntPtr, Int32) |
Hiermee wordt een waarde naar rechts verplaatst met een bepaald bedrag. |
| ISignedNumber<IntPtr>.NegativeOne |
Hiermee haalt u de waarde |
| ISubtractionOperators<IntPtr,IntPtr,IntPtr>.CheckedSubtraction(IntPtr, IntPtr) |
Trekt twee waarden af om het verschil te berekenen. |
| ISubtractionOperators<IntPtr,IntPtr,IntPtr>.Subtraction(IntPtr, IntPtr) |
Trekt twee waarden af om het verschil te berekenen. |
| IUnaryNegationOperators<IntPtr,IntPtr>.CheckedUnaryNegation(IntPtr) |
Berekent de gecontroleerde unaire negatie van een waarde. |
| IUnaryNegationOperators<IntPtr,IntPtr>.UnaryNegation(IntPtr) |
Berekent de unaire negatie van een waarde. |
| IUnaryPlusOperators<IntPtr,IntPtr>.UnaryPlus(IntPtr) |
Berekent het unaire plusteken van een waarde. |
Van toepassing op
Veiligheid thread
Dit type is thread veilig.