CharSet 列舉

定義

指定封送處理的字串應使用的字元集。

C#
public enum CharSet
C#
[System.Serializable]
public enum CharSet
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CharSet
繼承
屬性

欄位

名稱 Description
Ansi 2

將字串封送處理為多位元組字元字串:Windows 上的系統預設 Windows (ANSI) 字碼頁,以及 Unix 上的 UTF-8。

Auto 4

自動為目標作業系統妥善地封送處理字串。 如需詳細資訊,請參閱字元集與封送處理。 雖然 Common Language Runtime 預設為 Auto,但是語言可以覆寫此預設值。 例如,C# 和 Visual Basic 依預設會將所有方法和型別標示為 Ansi

None 1

這個值已經過時,和 Ansi 有相同的行為。

Unicode 3

封送處理字串為 Unicode 2 個位元組字元字串。

範例

下列程式代碼範例示範如何在將 套用StructLayoutAttribute至 Managed 定義時指定CharSet列舉值。

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

備註

因為有數個 Unmanaged 字串類型,而且只有一個 Managed 字串類型,所以您必須使用字元集來指定 Managed 字串應如何封送處理至 Unmanaged 程式代碼。 和會使用DllImportAttributeStructLayoutAttribute提供字元集選項的這個列舉。 如需與這個列舉相關聯的字串封送處理和名稱比對行為的詳細描述,請參閱 指定字元集

適用於

產品 版本
.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

另請參閱