Export (0) Print
Expand All
Expand Minimize

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 Language Filter 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

Show:
© 2015 Microsoft