CharSet Enumeration
Dictates which character set marshaled strings should use.
[Visual Basic] <Serializable> Public Enum CharSet [C#] [Serializable] public enum CharSet [C++] [Serializable] __value public enum CharSet [JScript] public Serializable enum CharSet
Remarks
Because there are several unmanaged string types and only one managed string type, you must use a character set to specify how managed strings should be marshaled to unmanaged code. This enumeration, which provides character set options, is used by DllImportAttribute and StructLayoutAttribute. For a detailed description of the string marshaling and name matching behavior associated with this enumeration, see Specifying a Character Set.
Members
| Member name | Description |
|---|---|
| Ansi | Marshal strings as multiple-byte character strings. |
| Auto Supported by the .NET Compact Framework. | Automatically marshal strings appropriately for the target operating system. The default is Unicode on Windows NT, Windows 2000, Windows XP, and the Windows Server 2003 family; the default is Ansi on Windows 98 and Windows Me. |
| None | This value is obsolete and has the same behavior as CharSet.Ansi. |
| Unicode Supported by the .NET Compact Framework. | Marshal strings as Unicode 2-byte characters. |
Example
[Visual Basic, C#] The following code example shows how to specify a CharSet enumeration value when applying the StructLayoutAttribute to a managed definition.
[Visual Basic] < StructLayout( LayoutKind.Sequential, CharSet := CharSet.Ansi )> _ Public Structure MyPerson Public first As String Public last As String End Structure 'MyPerson [C#] [ StructLayout( LayoutKind.Sequential, CharSet=CharSet.Ansi )] public struct MyPerson { public String first; public String last; }
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Runtime.InteropServices
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: Mscorlib (in Mscorlib.dll)
See Also
System.Runtime.InteropServices Namespace | DllImportAttribute | StructLayoutAttribute