CharSet Výčet

Definice

Určí, které znakové sady mají zařaditelné řetězce použít.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
Dědičnost
Atributy

Pole

Ansi 2

Zařazování řetězců jako řetězce znaků s více bajty: standardní znaková stránka systému Windows (ANSI) ve Windows a UTF-8 v systému UNIX.Marshal strings as multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix.

Auto 4

Pro cílový operační systém jsou automaticky zařazeny řetězce odpovídajícím způsobem.Automatically marshal strings appropriately for the target operating system. Podrobnosti najdete v části CharSet a zařazování .See Charsets and marshaling for details. I když se výchozí modul CLR (Common Language Runtime) Auto, můžou tyto jazyky přepsat toto výchozí nastavení.Although the common language runtime default is Auto, languages may override this default. Ve výchozím nastavení C# Visual Basic například označit všechny metody a typy jako Ansi.For example, by default C# and Visual Basic mark all methods and types as Ansi.

None 1

Tato hodnota je zastaralá a má stejné chování jako Ansi.This value is obsolete and has the same behavior as Ansi.

Unicode 3

Zařazování řetězců jako řetězců znaků Unicode 2 bajtů.Marshal strings as Unicode 2-byte character strings.

Příklady

Následující příklad kódu ukazuje, jak určit CharSet hodnotu výčtu při použití StructLayoutAttribute na spravovanou definici.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

Poznámky

Vzhledem k tomu, že existuje několik nespravovaných typů řetězců a pouze jeden typ spravovaného řetězce, je nutné použít znakovou sadu k určení, jak mají být spravované řetězce zařazeny do nespravovaného kódu.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. Tento výčet, který poskytuje možnosti znakové sady, je používán DllImportAttribute a StructLayoutAttribute.This enumeration, which provides character set options, is used by DllImportAttribute and StructLayoutAttribute. Podrobný popis zařazování řetězců a chování při shodě názvů přidružených k tomuto výčtu naleznete v tématu Určení znakové sady.For a detailed description of the string marshaling and name matching behavior associated with this enumeration, see Specifying a Character Set.

Platí pro

Viz také