CharSet 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定封送處理的字串應使用的字元集。
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提供字元集選項的這個列舉。 如需與這個列舉相關聯的字串封送處理和名稱比對行為的詳細描述,請參閱 指定字元集。