CharSet CharSet CharSet CharSet Enum

Definition

Bestimmt, welcher Zeichensatz für gemarshallte Zeichenfolgen verwendet werden soll.Dictates which character set marshaled strings should use.

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

Felder

Ansi Ansi Ansi Ansi 2

Marshallt Zeichenfolgen als Mehrfachbyte-Zeichenfolgen: Systemstandardeinstellung Windows-Codeseite (ANSI) unter Windows und UTF-8 unter Unix.Marshal strings as multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix.

Auto Auto Auto Auto 4

Marshallt Zeichenfolgen automatisch entsprechend dem Zielbetriebssystem.Automatically marshal strings appropriately for the target operating system. Weitere Informationen finden Sie unter Zeichensätze und Marshalling.See Charsets and marshaling for details. Obwohl der Common Language Runtime-Standard Auto ist, überschreiben Sprachen möglicherweise diesen Standard.Although the common language runtime default is Auto, languages may override this default. Beispielsweise markieren C# und Visual Basic standardmäßig alle Methoden und Typen als Ansi.For example, by default C# and Visual Basic mark all methods and types as Ansi.

None None None None 1

Dies ist ein veralteter Wert, der dasselbe Verhalten wie Ansi aufweist.This value is obsolete and has the same behavior as Ansi.

Unicode Unicode Unicode Unicode 3

Marshallt Zeichenfolgen als 2-Byte-Unicode-Zeichenfolgen.Marshal strings as Unicode 2-byte character strings.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie ein CharSet -Enumerationswert angegeben StructLayoutAttribute wird, wenn auf eine verwaltete Definition angewendet wird.The following code example shows how to specify a CharSet enumeration value when applying the StructLayoutAttribute to a managed definition.

[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 Zeichen folgen Typen und nur einen verwalteten Zeichen Folgentyp gibt, müssen Sie einen Zeichensatz verwenden, um anzugeben, wie verwaltete Zeichen folgen an nicht verwalteten Code gemarshallt werden sollen.Because there are several unmanaged string types and only one managed string type, you must use a character set to specify how managed strings should be marshaled to unmanaged code. Diese Enumeration, die Zeichensatz Optionen bereitstellt, wird von DllImportAttribute und StructLayoutAttributeverwendet.This enumeration, which provides character set options, is used by DllImportAttribute and StructLayoutAttribute. Eine ausführliche Beschreibung des zeichenfolgenmarshalling und namens Übereinstimmungs Verhaltens, das dieser Enumeration zugeordnet ist, finden Sie unter Angeben eines Zeichensatzes.For a detailed description of the string marshaling and name matching behavior associated with this enumeration, see Specifying a Character Set.

Gilt für:

Siehe auch