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 | 対象オペレーティング システムに適するように、自動的に文字列をマーシャリングします。 詳細については、文字セットとマーシャリングに関するページを参照してください。 共通言語ランタイムの既定値は Auto ですが、言語によってこの既定値がオーバーライドされることがあります。 たとえば、C# および Visual Basic の既定では、すべてのメソッドと型が Ansi としてマークされます。 |
None | 1 | この値は今後使用しません。動作は Ansi と同じです。 |
Unicode | 3 | 文字列を Unicode 2 バイト文字の文字列としてマーシャリングします。 |
次のコード例は、 をマネージド定義に適用するときに列挙値をStructLayoutAttribute指定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
アンマネージド文字列型は複数あり、マネージド文字列型は 1 つだけであるため、マネージド文字列をアンマネージド コードにマーシャリングする方法を指定するには、文字セットを使用する必要があります。 文字セット オプションを提供するこの列挙体は、 と StructLayoutAttributeでDllImportAttribute使用されます。 この列挙に関連付けられている文字列マーシャリングと名前の一致動作の詳細については、「 文字セットの指定」を参照してください。
製品 | バージョン |
---|---|
.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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。