CharSet Wyliczenie

Definicja

Określa, który zestaw znaków ma być używany przez zestaw ciągów marshalowanych.

C#
public enum CharSet
C#
[System.Serializable]
public enum CharSet
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CharSet
Dziedziczenie
Atrybuty

Pola

Nazwa Wartość Opis
Ansi 2

Marshaling strings as multiple-byte character strings: systemowa domyślna strona kodowa systemu Windows (ANSI) w systemie Windows i UTF-8 w systemie Unix.

Auto 4

Automatycznie marshaluje ciągi odpowiednio dla docelowego systemu operacyjnego. Szczegółowe informacje można znaleźć w temacie Charsets and marshaling (Zestawy znaków i marshaling). Mimo że domyślne środowisko uruchomieniowe języka wspólnego to Auto, języki mogą zastąpić tę wartość domyślną. Na przykład domyślnie C# i Visual Basic oznaczyć wszystkie metody i typy jako Ansi.

None 1

Ta wartość jest przestarzała i ma takie samo zachowanie jak Ansi.

Unicode 3

Przeprowadzanie marshalingu ciągów jako ciągów znaków Unicode 2-bajtowych.

Przykłady

W poniższym przykładzie kodu pokazano, jak określić CharSet wartość wyliczenia podczas stosowania StructLayoutAttribute elementu do definicji zarządzanej.

C#
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct MyPerson
{
    public String first;
    public String last;
}

Uwagi

Ponieważ istnieje kilka niezarządzanych typów ciągów i tylko jeden typ ciągu zarządzanego, należy użyć zestawu znaków, aby określić sposób, w jaki zarządzane ciągi powinny być marshalowane do niezarządzanego kodu. To wyliczenie, które udostępnia opcje zestawu znaków, jest używane przez DllImportAttribute element i StructLayoutAttribute. Aby uzyskać szczegółowy opis działania marshalingu ciągów i dopasowywania nazw skojarzonych z tym wyliczeniem, zobacz Określanie zestawu znaków.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też