IntPtr Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder.
public value class IntPtr
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 : 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 : IEquatable<IntPtr>, System::Runtime::Serialization::ISerializable
public value class IntPtr : System::Runtime::Serialization::ISerializable
public struct IntPtr
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 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 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 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 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 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 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 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 IEquatable(Of IntPtr), ISerializable
Public Structure IntPtr
Implements ISerializable
- Devralma
- Öznitelikler
- Uygulamalar
-
IComparable IComparable<IntPtr> IEquatable<IntPtr> IFormattable ISerializable ISpanFormattable IComparable<TSelf> IEquatable<TSelf> IParsable<IntPtr> IParsable<TSelf> ISpanParsable<IntPtr> ISpanParsable<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> IUtf8SpanFormattable IUtf8SpanParsable<IntPtr> IUtf8SpanParsable<TSelf>
Örnekler
Aşağıdaki örnek, bir dizideki karakterleri ters çevirmek için yönetilen işaretçileri kullanır. bir String nesnesi başlatıp uzunluğunu aldıktan sonra aşağıdakileri yapar:
Unicode dizesini yönetilmeyen belleğe ANSI (tek bayt) karakteri olarak kopyalamak için Marshal.StringToHGlobalAnsi yöntemini çağırır. yöntemi, yönetilmeyen dizenin başına işaret eden bir IntPtr nesnesi döndürür. Visual Basic örneği bu işaretçiyi doğrudan kullanır; C++, F# ve C# örneklerinde bir bayt işaretçisine geçirilir.
Yönetilmeyen dizenin kapladıkça aynı sayıda bayt ayırmak için Marshal.AllocHGlobal yöntemini çağırır. yöntemi, yönetilmeyen bellek bloğunun başlangıcına işaret eden bir IntPtr nesnesi döndürür. Visual Basic örneği bu işaretçiyi doğrudan kullanır; C++, F# ve C# örneklerinde bir bayt işaretçisine geçirilir.
Visual Basic örneği, ANSI dizesinin uzunluğuna eşit
offset
adlı bir değişken tanımlar. ANSI dizesindeki bir sonraki karakterin kopyalandığı yönetilmeyen belleğe uzaklığı belirlemek için kullanılır. Başlangıç değeri dizenin uzunluğu olduğundan, kopyalama işlemi dizenin başından bellek bloğunun sonuna bir karakter kopyalar.C#, F# ve C++ örnekleri, dizenin başlangıç adresine ve yönetilmeyen bellek bloğuna yönetilmeyen bir işaretçi almak için ToPointer yöntemini çağırır ve ANSI dizesinin başlangıç adresine dizenin uzunluğundan daha az bir işaretçi ekler. Yönetilmeyen dize işaretçisi artık dizenin sonuna işaret ettiğinden, kopyalama işlemi dizenin sonundan bellek bloğunun başlangıcına bir karakter kopyalar.
Dizedeki her karakteri yönetilmeyen bellek bloğuna kopyalamak için bir döngü kullanır.
Visual Basic örneği, yönetilen işaretçiden ANSI dizesine belirtilen uzaklıkta bayt (veya tek baytlık karakter) okumak için Marshal.ReadByte(IntPtr, Int32) yöntemini çağırır. Uzaklık, döngünün her yinelemesiyle artırılır. Ardından Marshal.WriteByte(IntPtr, Int32, Byte) yöntemini çağırarak yönetilmeyen bellek bloğunun başlangıç adresi ve
offset
tarafından tanımlanan bellek adresine bayt yazar. Ardındanoffset
azalmış olur.C#, F# ve C++ örnekleri kopyalama işlemini gerçekleştirir, ardından işaretçiyi yönetilmeyen ANSI dizesindeki bir sonraki konumun adresine kadar azaltıp işaretçiyi yönetilmeyen bloktaki bir sonraki adrese yükseltir.
Tüm örnekler, kopyalanan ANSI dizesini içeren yönetilmeyen bellek bloğunu yönetilen bir Unicode String nesnesine dönüştürmek için Marshal.PtrToStringAnsi çağırır.
Özgün ve ters çevrilmiş dizeleri görüntüledikten sonra, tüm örnekler yönetilmeyen ANSI dizesi ve yönetilmeyen bellek bloğu için ayrılan belleği boşaltmak için FreeHGlobal yöntemini çağırır.
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
Açıklamalar
IntPtr türü, boyutu işaretçiyle aynı olan bir tamsayı olacak şekilde tasarlanmıştır. Yani, bu tür bir örneğinin 32 bit işlemde 32 bit ve 64 bit işlemde 64 bit olması beklenir.
IntPtr türü, işaretçileri destekleyen diller tarafından ve işaretçileri destekleyen ve desteklemeyen diller arasındaki verilere başvurmanın yaygın bir aracı olarak kullanılabilir.
IntPtr nesneleri tutamaçları tutmak için de kullanılabilir. Örneğin, IntPtr örnekleri, dosya tanıtıcılarını tutmak için System.IO.FileStream sınıfında kapsamlı olarak kullanılır.
Not
IntPtr işaretçi veya tanıtıcı olarak kullanmak hataya açıktır ve güvenli değildir. Aynı boyutta olması nedeniyle işaretçiler ve tanıtıcılar için değişim biçimi olarak kullanılabilen bir tamsayı türüdür. İşaretçileri desteklemeyen bir dile veri geçirme gibi belirli değişim gereksinimleri dışında, işaretçileri temsil etmek için doğru yazılan bir işaretçi ve tanıtıcıları göstermek için SafeHandle kullanılmalıdır.
Bu tür ISerializableuygular. .NET 5 ve sonraki sürümlerde, bu tür IFormattable arabirimlerini de uygular. .NET 7 ve sonraki sürümlerde, bu tür IBinaryInteger<TSelf>, IMinMaxValue<TSelf>ve ISignedNumber<TSelf> arabirimlerini de uygular.
9.0 sürümünden başlayarak C# dilinde, yerel boyutlu tamsayıları tanımlamak için yerleşik nint
türünü kullanabilirsiniz. Bu tür, IntPtr türüyle dahili olarak temsil edilir ve tamsayı türleri için uygun işlemler ve dönüştürmeler sağlar. Daha fazla bilgi için bkz. nint ve nuint türleri.
C# sürümünde sürüm 11'den başlayarak .NET 7 veya üzeri çalışma zamanını hedeflerken nint
, int
Int32için diğer ad olduğu gibi IntPtr için de bir diğer addır.
Oluşturucular
IntPtr(Int32) |
Belirtilen 32 bit imzalı tamsayıyı kullanarak yeni bir IntPtr örneği başlatır. |
IntPtr(Int64) |
Belirtilen 64 bit imzalı tamsayıyı kullanarak yeni bir IntPtr örneği başlatır. |
IntPtr(Void*) |
Belirtilmemiş bir tür için belirtilen işaretçiyi kullanarak yeni bir IntPtr örneği başlatır. |
Alanlar
Zero |
Sıfıra başlatılan imzalı bir tamsayıyı temsil eden salt okunur alan. |
Özellikler
MaxValue |
mümkün olan en büyük IntPtrdeğerini alır. |
MinValue |
IntPtren küçük olası değerini alır. |
Size |
Bu örneğin boyutunu alır. |
Yöntemler
Abs(IntPtr) |
Bir değerin mutlak değerini hesaplar. |
Add(IntPtr, Int32) |
İmzalı tamsayıya uzaklık ekler. |
Clamp(IntPtr, IntPtr, IntPtr) |
Bir değeri kapsayıcı en düşük ve en yüksek değere kelepçeler. |
CompareTo(IntPtr) |
Geçerli örneği aynı türdeki başka bir nesneyle karşılaştırır ve geçerli örneğin diğer nesneyle aynı sıralama düzeninde önce geldiğini, izlediğini veya yine aynı konumda yer alıp almadığını belirten bir tamsayı döndürür. |
CompareTo(Object) |
Geçerli örneği aynı türdeki başka bir nesneyle karşılaştırır ve geçerli örneğin diğer nesneyle aynı sıralama düzeninde önce geldiğini, izlediğini veya yine aynı konumda yer alıp almadığını belirten bir tamsayı döndürür. |
CopySign(IntPtr, IntPtr) |
Bir değerin işaretini başka bir değerin işaretine kopyalar. |
CreateChecked<TOther>(TOther) |
Geçerli türün bir örneğini bir değerden oluşturur ve geçerli türün temsil edilebilir aralığının dışında kalan değerler için taşma özel durumu oluşturur. |
CreateSaturating<TOther>(TOther) |
Bir değerden geçerli türün bir örneğini oluşturur ve geçerli türün temsil edilebilir aralığının dışında kalan tüm değerleri doygun hale getirir. |
CreateTruncating<TOther>(TOther) |
Geçerli türün bir örneğini bir değerden oluşturur ve geçerli türün temsil edilebilir aralığının dışında kalan değerleri kesebilir. |
DivRem(IntPtr, IntPtr) |
İki değerin bölümünü ve kalan bölümünü hesaplar. |
Equals(IntPtr) |
Geçerli nesnenin aynı türdeki başka bir nesneye eşit olup olmadığını gösterir. |
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. |
GetHashCode() |
Bu örneğin karma kodunu döndürür. |
IsEvenInteger(IntPtr) |
Bir değerin çift tamsayı sayıyı temsil eder olup olmadığını belirler. |
IsNegative(IntPtr) |
Bir değerin negatif olup olmadığını belirler. |
IsOddInteger(IntPtr) |
Bir değerin tek bir tamsayı sayısını temsil ediyor olup olmadığını belirler. |
IsPositive(IntPtr) |
Bir değerin pozitif olup olmadığını belirler. |
IsPow2(IntPtr) |
Bir değerin ikinin gücü olup olmadığını belirler. |
LeadingZeroCount(IntPtr) |
Bir değerdeki baştaki sıfırların sayısını hesaplar. |
Log2(IntPtr) |
Bir değerin 2. günlüğünü hesaplar. |
Max(IntPtr, IntPtr) |
daha büyük olan iki değeri işlemle karşılaştırır. |
MaxMagnitude(IntPtr, IntPtr) |
daha büyük olan iki değeri işlemle karşılaştırır. |
Min(IntPtr, IntPtr) |
daha az olan iki değeri işlemle karşılaştırır. |
MinMagnitude(IntPtr, IntPtr) |
daha az olan iki değeri işlemle karşılaştırır. |
Parse(ReadOnlySpan<Byte>, IFormatProvider) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor. |
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Bir karakter aralığını bir değere ayrıştırıyor. |
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Bir sayının belirtilen stilde ve kültüre özgü biçimdeki karakter gösteriminin salt okunur aralığını imzalı yerel tamsayı eşdeğerine dönüştürür. |
Parse(String) |
Bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. |
Parse(String, IFormatProvider) |
Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. |
Parse(String, NumberStyles) |
Belirtilen stildeki bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. |
Parse(String, NumberStyles, IFormatProvider) |
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. |
PopCount(IntPtr) |
Bir değerde ayarlanan bit sayısını hesaplar. |
RotateLeft(IntPtr, Int32) |
Değeri belirli bir miktar sola döndürür. |
RotateRight(IntPtr, Int32) |
Değeri belirli bir miktara göre sağa döndürür. |
Sign(IntPtr) |
Bir değerin işaretini hesaplar. |
Subtract(IntPtr, Int32) |
İşaretli tamsayıdan uzaklığı çıkarır. |
ToInt32() |
Bu örneğin değerini 32 bit imzalı tamsayıya dönüştürür. |
ToInt64() |
Bu örneğin değerini 64 bit imzalı tamsayıya dönüştürür. |
ToPointer() |
Bu örneğin değerini belirtilmemiş bir türe işaretçiye dönüştürür. |
ToString() |
Geçerli IntPtr nesnesinin sayısal değerini eşdeğer dize gösterimine dönüştürür. |
ToString(IFormatProvider) |
Belirtilen biçim ve kültüre özgü biçim bilgilerini kullanarak bu örneğin sayısal değerini eşdeğer dize gösterimine dönüştürür. |
ToString(String) |
Geçerli IntPtr nesnesinin sayısal değerini eşdeğer dize gösterimine dönüştürür. |
ToString(String, IFormatProvider) |
Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin. |
TrailingZeroCount(IntPtr) |
Bir değerdeki sondaki sıfırların sayısını hesaplar. |
TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Geçerli örneğin değerini UTF-8 olarak sağlanan bayt aralığına biçimlendirmeye çalışır. |
TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Geçerli örneğin değerini sağlanan karakter aralığına biçimlendirmeye çalışır. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, IntPtr) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Byte>, IntPtr) |
Bir sayının dize gösterimini içeren UTF-8 karakter aralığını imzalı tamsayı eşdeğerine dönüştürmeye çalışır. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, IntPtr) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, IntPtr) |
Bir dizeyi bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Char>, IntPtr) |
Bir sayının karakter gösteriminin salt okunur aralığını imzalı yerel tamsayı eşdeğerine dönüştürür. Dönüş değeri, dönüştürmenin başarılı olup olmadığını gösterir. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, IntPtr) |
Bir sayının belirtilen stilde ve kültüre özgü biçimdeki karakter gösteriminin salt okunur aralığını imzalı yerel tamsayı eşdeğerine dönüştürür. Dönüş değeri, dönüştürmenin başarılı olup olmadığını gösterir. |
TryParse(String, IFormatProvider, IntPtr) |
Bir dizeyi bir değere ayrıştırmaya çalışır. |
TryParse(String, IntPtr) |
Bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. Dönüş değeri, dönüştürmenin başarılı olup olmadığını gösterir. |
TryParse(String, NumberStyles, IFormatProvider, IntPtr) |
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini imzalı yerel tamsayı eşdeğerine dönüştürür. Dönüş değeri, dönüştürmenin başarılı olup olmadığını gösterir. |
İşleçler
Addition(IntPtr, Int32) |
İmzalı tamsayıya uzaklık ekler. |
Equality(IntPtr, IntPtr) |
Belirtilen iki IntPtr örneğinin eşit olup olmadığını belirler. |
Explicit(Int32 to IntPtr) |
32 bit imzalı tamsayı değerini IntPtrdönüştürür. |
Explicit(Int64 to IntPtr) |
64 bit imzalı tamsayı değerini IntPtrdönüştürür. |
Explicit(IntPtr to Int32) |
Belirtilen IntPtr değerini 32 bit imzalı tamsayıya dönüştürür. |
Explicit(IntPtr to Int64) |
Belirtilen IntPtr değerini 64 bit imzalı tamsayıya dönüştürür. |
Explicit(IntPtr to Void*) |
Belirtilen IntPtr değerini belirtilmemiş bir türe işaretçiye dönüştürür. Bu API CLS uyumlu değil. |
Explicit(Void* to IntPtr) |
Belirtilen işaretçiyi belirtilmemiş bir türe IntPtrdönüştürür. Bu API CLS uyumlu değil. |
Inequality(IntPtr, IntPtr) |
belirtilen iki IntPtr örneğinin eşit olup olmadığını belirler. |
Subtraction(IntPtr, Int32) |
İşaretli tamsayıdan uzaklığı çıkarır. |
Belirtik Arabirim Kullanımları
IAdditionOperators<IntPtr,IntPtr,IntPtr>.Addition(IntPtr, IntPtr) |
Toplamlarını hesaplamak için iki değeri bir araya ekler. |
IAdditionOperators<IntPtr,IntPtr,IntPtr>.CheckedAddition(IntPtr, IntPtr) |
Toplamlarını hesaplamak için iki değeri bir araya ekler. |
IAdditiveIdentity<IntPtr,IntPtr>.AdditiveIdentity |
Geçerli türün ek kimliğini alır. |
IBinaryInteger<IntPtr>.GetByteCount() |
TryWriteLittleEndian(Span<Byte>, Int32)parçası olarak yazılacak bayt sayısını alır. |
IBinaryInteger<IntPtr>.GetShortestBitLength() |
Geçerli değerin en kısa ikisinin tamamlayıcı gösteriminin bit cinsinden uzunluğunu alır. |
IBinaryInteger<IntPtr>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, IntPtr) |
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder. |
IBinaryInteger<IntPtr>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, IntPtr) |
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder. |
IBinaryInteger<IntPtr>.TryWriteBigEndian(Span<Byte>, Int32) |
Geçerli değeri büyük endian biçiminde belirli bir span'a yazmaya çalışır. |
IBinaryInteger<IntPtr>.TryWriteLittleEndian(Span<Byte>, Int32) |
Geçerli değeri küçük endian biçiminde belirli bir span'a yazmaya çalışır. |
IBinaryNumber<IntPtr>.AllBitsSet |
Tüm bitlerin ayarlandığı ikili türün bir örneğini alır. |
IBitwiseOperators<IntPtr,IntPtr,IntPtr>.BitwiseAnd(IntPtr, IntPtr) |
İki değerin bit düzeyinde ve değerini hesaplar. |
IBitwiseOperators<IntPtr,IntPtr,IntPtr>.BitwiseOr(IntPtr, IntPtr) |
bit düzeyinde veya iki değeri hesaplar. |
IBitwiseOperators<IntPtr,IntPtr,IntPtr>.ExclusiveOr(IntPtr, IntPtr) |
İki değerin özel veya özel değerini hesaplar. |
IBitwiseOperators<IntPtr,IntPtr,IntPtr>.OnesComplement(IntPtr) |
Belirli bir değerin bire tamamlayan gösterimini hesaplar. |
IComparisonOperators<IntPtr,IntPtr,Boolean>.GreaterThan(IntPtr, IntPtr) |
Hangisinin daha büyük olduğunu belirlemek için iki değeri karşılaştırır. |
IComparisonOperators<IntPtr,IntPtr,Boolean>.GreaterThanOrEqual(IntPtr, IntPtr) |
Hangisinin daha büyük veya eşit olduğunu belirlemek için iki değeri karşılaştırır. |
IComparisonOperators<IntPtr,IntPtr,Boolean>.LessThan(IntPtr, IntPtr) |
Hangisinin daha az olduğunu belirlemek için iki değeri karşılaştırır. |
IComparisonOperators<IntPtr,IntPtr,Boolean>.LessThanOrEqual(IntPtr, IntPtr) |
Hangisinin daha az veya eşit olduğunu belirlemek için iki değeri karşılaştırır. |
IDecrementOperators<IntPtr>.CheckedDecrement(IntPtr) |
Bir değeri azaltma. |
IDecrementOperators<IntPtr>.Decrement(IntPtr) |
Bir değeri azaltma. |
IDivisionOperators<IntPtr,IntPtr,IntPtr>.Division(IntPtr, IntPtr) |
Kendi bölümünü hesaplamak için bir değeri diğerine böler. |
IEquatable<IntPtr>.Equals(IntPtr) |
Bu örneğin başka bir imzalı tamsayıya eşit olup olmadığını gösteren bir değer döndürür. |
IIncrementOperators<IntPtr>.CheckedIncrement(IntPtr) |
Bir değeri artırır. |
IIncrementOperators<IntPtr>.Increment(IntPtr) |
Bir değeri artırır. |
IMinMaxValue<IntPtr>.MaxValue |
Geçerli türün en büyük değerini alır. |
IMinMaxValue<IntPtr>.MinValue |
Geçerli türün en düşük değerini alır. |
IModulusOperators<IntPtr,IntPtr,IntPtr>.Modulus(IntPtr, IntPtr) |
Modüllerini veya kalan değerlerini hesaplamak için iki değeri birbirine böler. |
IMultiplicativeIdentity<IntPtr,IntPtr>.MultiplicativeIdentity |
Geçerli türün çarpımlı kimliğini alır. |
IMultiplyOperators<IntPtr,IntPtr,IntPtr>.CheckedMultiply(IntPtr, IntPtr) |
Ürünlerini hesaplamak için iki değeri bir araya getiren. |
IMultiplyOperators<IntPtr,IntPtr,IntPtr>.Multiply(IntPtr, IntPtr) |
Ürünlerini hesaplamak için iki değeri bir araya getiren. |
INumber<IntPtr>.MaxNumber(IntPtr, IntPtr) |
daha büyük olan ve giriş |
INumber<IntPtr>.MinNumber(IntPtr, IntPtr) |
daha küçük olan ve giriş |
INumberBase<IntPtr>.IsCanonical(IntPtr) |
Bir değerin kurallı gösteriminde olup olmadığını belirler. |
INumberBase<IntPtr>.IsComplexNumber(IntPtr) |
Bir değerin karmaşık bir sayıyı temsil ediyor olup olmadığını belirler. |
INumberBase<IntPtr>.IsFinite(IntPtr) |
Bir değerin sonlu olup olmadığını belirler. |
INumberBase<IntPtr>.IsImaginaryNumber(IntPtr) |
Bir değerin saf bir sanal sayıyı temsil ediyor olup olmadığını belirler. |
INumberBase<IntPtr>.IsInfinity(IntPtr) |
Bir değerin sonsuz olup olmadığını belirler. |
INumberBase<IntPtr>.IsInteger(IntPtr) |
Bir değerin tam sayı olup olmadığını belirler. |
INumberBase<IntPtr>.IsNaN(IntPtr) |
Bir değerin NaN olup olmadığını belirler. |
INumberBase<IntPtr>.IsNegativeInfinity(IntPtr) |
Bir değerin negatif sonsuz olup olmadığını belirler. |
INumberBase<IntPtr>.IsNormal(IntPtr) |
Bir değerin normal olup olmadığını belirler. |
INumberBase<IntPtr>.IsPositiveInfinity(IntPtr) |
Bir değerin pozitif sonsuz olup olmadığını belirler. |
INumberBase<IntPtr>.IsRealNumber(IntPtr) |
Bir değerin gerçek bir sayıyı temsil ediyor olup olmadığını belirler. |
INumberBase<IntPtr>.IsSubnormal(IntPtr) |
Bir değerin normalin altında olup olmadığını belirler. |
INumberBase<IntPtr>.IsZero(IntPtr) |
Değerin sıfır olup olmadığını belirler. |
INumberBase<IntPtr>.MaxMagnitudeNumber(IntPtr, IntPtr) |
daha büyük bir büyüklüğe sahip olan ve giriş |
INumberBase<IntPtr>.MinMagnitudeNumber(IntPtr, IntPtr) |
daha az büyüklüğe sahip olan ve giriş |
INumberBase<IntPtr>.MultiplyAddEstimate(IntPtr, IntPtr, IntPtr) |
( |
INumberBase<IntPtr>.One |
Türün |
INumberBase<IntPtr>.Radix |
Türün radiksini veya tabanını alır. |
INumberBase<IntPtr>.TryConvertFromChecked<TOther>(TOther, IntPtr) |
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder. |
INumberBase<IntPtr>.TryConvertFromSaturating<TOther>(TOther, IntPtr) |
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder. |
INumberBase<IntPtr>.TryConvertFromTruncating<TOther>(TOther, IntPtr) |
bit genişliğinin işaretçiyle aynı olduğu işaretli bir tamsayıyı temsil eder. |
INumberBase<IntPtr>.TryConvertToChecked<TOther>(IntPtr, TOther) |
Geçerli türün bir örneğini başka bir türe dönüştürmeyi dener ve geçerli türün temsil edilebilir aralığının dışında kalan değerler için bir taşma özel durumu oluşturur. |
INumberBase<IntPtr>.TryConvertToSaturating<TOther>(IntPtr, TOther) |
Geçerli türün bir örneğini başka bir türe dönüştürmeyi dener ve geçerli türün temsil edilebilir aralığının dışında kalan değerleri doygunluğa getirir. |
INumberBase<IntPtr>.TryConvertToTruncating<TOther>(IntPtr, TOther) |
Geçerli türün bir örneğini başka bir türe dönüştürmeye çalışır ve geçerli türün temsil edilebilir aralığının dışında kalan tüm değerleri kısaltır. |
INumberBase<IntPtr>.Zero |
Türün |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
bir SerializationInfo nesnesini geçerli IntPtr nesnesini seri hale getirmek için gereken verilerle doldurur. |
IShiftOperators<IntPtr,Int32,IntPtr>.LeftShift(IntPtr, Int32) |
Değeri belirli bir miktar sola kaydırıyor. |
IShiftOperators<IntPtr,Int32,IntPtr>.RightShift(IntPtr, Int32) |
Değeri belirli bir miktar sağa kaydırıyor. |
IShiftOperators<IntPtr,Int32,IntPtr>.UnsignedRightShift(IntPtr, Int32) |
Değeri belirli bir miktar sağa kaydırıyor. |
ISignedNumber<IntPtr>.NegativeOne |
Türün |
ISubtractionOperators<IntPtr,IntPtr,IntPtr>.CheckedSubtraction(IntPtr, IntPtr) |
Farklarını hesaplamak için iki değeri çıkarır. |
ISubtractionOperators<IntPtr,IntPtr,IntPtr>.Subtraction(IntPtr, IntPtr) |
Farklarını hesaplamak için iki değeri çıkarır. |
IUnaryNegationOperators<IntPtr,IntPtr>.CheckedUnaryNegation(IntPtr) |
Bir değerin denetlenen bir tekli olumsuzlamasını hesaplar. |
IUnaryNegationOperators<IntPtr,IntPtr>.UnaryNegation(IntPtr) |
Bir değerin tekli olumsuzlamasını hesaplar. |
IUnaryPlusOperators<IntPtr,IntPtr>.UnaryPlus(IntPtr) |
Bir değerin birli artısını hesaplar. |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu tür iş parçacığı güvenlidir.