CharSet 枚举

规定封送字符串应使用何种字符集。

**命名空间:**System.Runtime.InteropServices
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration CharSet
用法
Dim instance As CharSet
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum CharSet
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class CharSet
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum CharSet
SerializableAttribute 
ComVisibleAttribute(true) 
public enum CharSet

成员

  成员名称 说明
Ansi 以多字节字符串的形式封送字符串。 
由 .NET Compact Framework 支持 Auto 针对目标操作系统适当地自动封送字符串。在 Windows NT、Windows 2000、Windows XP 和 Windows Server 2003 系列上默认值为 Unicode;在 Windows 98 和 Windows Me 上默认值为 Ansi。尽管公共语言运行库默认值为 Auto,使用语言可重写此默认值。例如,默认情况下,C# 将所有方法和类型都标记为 Ansi。 
None 此值已过时,它与 CharSet.Ansi 具有相同的行为。 
由 .NET Compact Framework 支持 Unicode 以 Unicode 2 字节字符形式封送字符串。 

备注

由于存在多种非托管字符串类型而仅存在一种托管字符串类型,所以必须使用字符集来指定如何将托管字符串封送到非托管代码。此枚举由 DllImportAttributeStructLayoutAttribute 使用,它提供字符集选项。有关和此枚举相关联的字符串封送处理和名称匹配行为的详细说明,请参见“指定字符集”。

示例

下面的代码示例演示了在将 StructLayoutAttribute 应用于托管定义时,如何指定 CharSet 枚举值。

< StructLayout(LayoutKind.Sequential, CharSet := CharSet.Ansi)> _
 Public Structure MyPerson
    Public first As String
    Public last As String
 End Structure 'MyPerson
[ StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
 public struct MyPerson 
 {
    public String first; 
    public String last;
 }

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

System.Runtime.InteropServices 命名空间
DllImportAttribute
StructLayoutAttribute