CharSet Enumeration

Definition

Bestimmt, welche marshallierten Zeichenfolgen von Zeichensatz verwendet werden sollen.

public enum class CharSet
public enum CharSet
[System.Serializable]
public enum CharSet
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CharSet
type CharSet = 
[<System.Serializable>]
type CharSet = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CharSet = 
Public Enum CharSet
Vererbung
Attribute

Felder

Name Wert Beschreibung
None 1

Dieser Wert ist veraltet und hat dasselbe Verhalten wie Ansi.

Ansi 2

Marshal-Zeichenfolgen als Zeichenfolgen mit mehreren Bytezeichen: Die Systemstandard-Windows (ANSI)-Codepage für Windows und UTF-8 unter Unix.

Unicode 3

Marshal-Zeichenfolgen als Unicode-2-Byte-Zeichenfolgen.

Auto 4

Automatisches Marshallen von Zeichenfolgen für das Zielbetriebssystem. Details finden Sie unter Charsets und Marshaling . Obwohl die Standardeinstellung für die Common Language Runtime lautet Auto, können Sprachen diese Standardeinstellung außer Kraft setzen. Standardmäßig markieren C# und Visual Basic alle Methoden und Typen als Ansi.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie einen CharSet Enumerationswert angeben, wenn Sie die StructLayoutAttribute auf eine verwaltete Definition anwenden.

[StructLayout(LayoutKind::Sequential, CharSet=CharSet::Ansi)]
public ref struct MyPerson
{
public:
    String^ first;
    String^ last;
};
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct MyPerson
{
    public String first;
    public String last;
}
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _
Public Structure MyPerson
    Public first As String
    Public last As String
End Structure

Hinweise

Da es mehrere nicht verwaltete Zeichenfolgentypen und nur einen verwalteten Zeichenfolgentyp gibt, müssen Sie einen Zeichensatz verwenden, um anzugeben, wie verwaltete Zeichenfolgen an nicht verwalteten Code gemarstet werden sollen. Diese Aufzählung, die Zeichensatzoptionen bereitstellt, wird von DllImportAttribute und verwendet StructLayoutAttribute. Eine detaillierte Beschreibung des Zeichenfolgenmarsing- und Namensabgleichsverhaltens, das dieser Enumeration zugeordnet ist, finden Sie unter Angeben eines Zeichensatzes.

Gilt für:

Weitere Informationen