Training
Module
Alfanumerieke gegevens opmaken voor weergave in C# - Training
Verken basismethoden in C# om alfanumerieke gegevens op te maken.
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Notitie
De volgende richtlijnen zijn bedoeld voor [DllImport]
gebruik en moeten handmatig worden gevolgd voor de juiste resultaten. .NET 7+ gebruikers moeten overwegen in plaats daarvan te gebruiken [LibraryImport]
. Een in-box Roslyn Analyzer (standaard ingeschakeld) biedt de vereiste richtlijnen voor het [LibraryImport]
kenmerk in uw code.
De manier waarop char
waarden, string
objecten en System.Text.StringBuilder
objecten worden marshalled, is afhankelijk van de waarde van het CharSet
veld op de P/Invoke of structuur. U kunt de CharSet
waarde van een P/Invoke instellen door het veld in te stellen bij het DllImportAttribute.CharSet declareren van uw P/Invoke. Als u het CharSet
voor een type wilt instellen, stelt u het StructLayoutAttribute.CharSet veld in voor uw klasse- of structdeclaratie. Wanneer deze kenmerkvelden niet zijn ingesteld, is het aan de taalcompilator om te bepalen welke CharSet
te gebruiken. C#, Visual Basic en F# gebruiken standaard de None tekenset, die hetzelfde gedrag heeft als de Ansi tekenset.
Als de System.Runtime.InteropServices.DefaultCharSetAttribute module wordt toegepast op de module in C# of Visual Basic-code, verzendt de C# of Visual Basic-compiler de opgegeven CharSet
standaard in plaats van te gebruiken CharSet.None
. F# biedt geen ondersteuning voor de DefaultCharSetAttribute
, en wordt altijd standaard verzonden CharSet.None
.
In de volgende tabel ziet u een toewijzing tussen elke tekenset en hoe een teken of tekenreeks wordt weergegeven wanneer deze tekenset wordt weergegeven:
CharSet Waarde |
Windows | .NET Core 2.2 en eerder op Unix | .NET Core 3.0 en hoger en Mono op Unix |
---|---|---|---|
Ansi |
char (de standaardinstelling van het systeemCodepagina voor Windows (ANSI) |
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) |
Zorg ervoor dat u weet welke representatie uw systeemeigen weergave verwacht bij het kiezen van uw charset.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
Training
Module
Alfanumerieke gegevens opmaken voor weergave in C# - Training
Verken basismethoden in C# om alfanumerieke gegevens op te maken.
Documentatie
Structuur marshalling aanpassen - .NET
Meer informatie over het aanpassen van hoe .NET marshals structuren worden aangepast aan een systeemeigen weergave.
Meer informatie over hoe .NET marshals uw typen naar een systeemeigen weergave.
Uitgeschakelde runtime marshalling - .NET
Leer hoe .NET marshals uw typen in een systeemeigen weergave wanneer runtime marshalling is uitgeschakeld.