共用方式為


CharSet 列舉

定義

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

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
繼承
屬性

欄位

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列舉值。

[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

備註

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

適用於

另請參閱