CharSet CharSet CharSet CharSet Enum

Definizione

Stabilisce quali stringhe di cui è stato effettuato il marshalling del set di caratteri devono essere utilizzate.Dictates which character set marshaled strings should use.

public enum class CharSet
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum CharSet
type CharSet = 
Public Enum CharSet
Ereditarietà
Attributi

Campi

Ansi Ansi Ansi Ansi 2

Effettua il marshalling di stringhe come stringhe di caratteri a più byte: la tabella codici Windows (ANSI) predefinita di sistema in Windows e UTF-8 in UNIX.Marshal strings as multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix.

Auto Auto Auto Auto 4

Esegue automaticamente il marshalling delle stringhe in modo appropriato per il sistema operativo di destinazione.Automatically marshal strings appropriately for the target operating system. Per informazioni dettagliate, vedere Set di caratteri e marshalling.See Charsets and marshaling for details. Sebbene il valore predefinito per Common Language Runtime sia Auto, è possibile che i linguaggi eseguano l'override di questo valore predefinito.Although the common language runtime default is Auto, languages may override this default. Ad esempio, per impostazione predefinita C# e Visual Basic contrassegnano tutti i metodi e tipi come Ansi.For example, by default C# and Visual Basic mark all methods and types as Ansi.

None None None None 1

Questo valore è obsoleto e si comporta come Ansi.This value is obsolete and has the same behavior as Ansi.

Unicode Unicode Unicode Unicode 3

Esegue il marshalling delle stringhe come stringhe di caratteri Unicode a 2 byte.Marshal strings as Unicode 2-byte character strings.

Esempi

Nell'esempio di codice seguente viene illustrato come specificare CharSet un valore StructLayoutAttribute di enumerazione quando si applica a una definizione gestita.The following code example shows how to specify a CharSet enumeration value when applying the StructLayoutAttribute to a managed definition.

[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

Commenti

Poiché sono presenti diversi tipi di stringa non gestiti e un solo tipo di stringa gestita, è necessario usare un set di caratteri per specificare come effettuare il marshalling delle stringhe gestite nel codice non gestito.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. Questa enumerazione, che fornisce le opzioni del set di caratteri, DllImportAttribute viene StructLayoutAttributeutilizzata da e.This enumeration, which provides character set options, is used by DllImportAttribute and StructLayoutAttribute. Per una descrizione dettagliata del marshalling delle stringhe e del comportamento di corrispondenza dei nomi associato a questa enumerazione, vedere specifica di un set di caratteri.For a detailed description of the string marshaling and name matching behavior associated with this enumeration, see Specifying a Character Set.

Si applica a

Vedi anche