Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Az alábbi útmutató a használatra szolgál [DllImport]
, és manuálisan kell követni a helyes eredmények érdekében. A .NET 7+ használók számára érdemes inkább a [LibraryImport]
használatát megfontolni. A beépített Roslyn-elemző (alapértelmezés szerint engedélyezve) megadja a szükséges útmutatást a kód [LibraryImport]
attribútumához.
A char
értékek, string
objektumok és System.Text.StringBuilder
objektumok feldolgozási módja attól függ, hogy mi az értéke a CharSet
mezőnek a P/Invoke vagy a struktúrában. A P/Invoke CharSet
beállításához állítsa be a DllImportAttribute.CharSet mezőt a P/Invoke deklarálásakor. Egy típus beállításához állítsa be a CharSet
mezőt az osztály vagy a szerkezet deklarációjában. Ha ezek az attribútummezők nincsenek beállítva, a nyelvfordító határozza meg, hogy melyiket CharSet
használja. A C#, a Visual Basic és az F# alapértelmezés szerint a None karakterkészletet használja, amely ugyanazzal a viselkedéssel rendelkezik, mint a Ansi karakterkészlet.
Ha a System.Runtime.InteropServices.DefaultCharSetAttribute a C# vagy a Visual Basic modulban van alkalmazva, akkor a C# vagy a Visual Basic fordító alapértelmezés szerint a megadott CharSet
-t bocsátja ki ahelyett, hogy a CharSet.None
-t használná. Az F# nem támogatja a DefaultCharSetAttribute
, és mindig alapértelmezés szerint bocsát ki CharSet.None
.
Az alábbi táblázat az egyes karakterkészletek közötti leképezést mutatja be, valamint azt, hogy egy karakter vagy sztring hogyan jelenik meg az adott karakterkészlettel való rendezéskor:
CharSet érték |
Windows | .NET Core 2.2 és korábbi a Unixon | A .NET Core 3.0-s és újabb verziói és a Mono a Unixon |
---|---|---|---|
Ansi |
char (a rendszer alapértelmezett Windows (ANSI) kódlapja) |
char (UTF-8) |
char (UTF-8) |
Unicode |
wchar_t (UTF-16) |
char16_t (UTF-16) |
char16_t (UTF-16) |
Auto |
wchar_t (UTF-16) |
char16_t (UTF-16) |
char (UTF-8) |
Győződjön meg arról, hogy a natív ábrázolás milyen ábrázolást vár el a karakterkészlet kiválasztásakor.