Auf Englisch lesen

Freigeben über


ArrayTypeMismatchException Klasse

Definition

Die Ausnahme, die bei dem Versuch ausgelöst wird, ein Element des falschen Typs in einem Array zu speichern.

C#
public class ArrayTypeMismatchException : Exception
C#
public class ArrayTypeMismatchException : SystemException
C#
[System.Serializable]
public class ArrayTypeMismatchException : SystemException
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayTypeMismatchException : SystemException
Vererbung
ArrayTypeMismatchException
Vererbung
ArrayTypeMismatchException
Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht Szenarien, in denen ArrayTypeMismatchException ausgelöst wird.

C#
using System;

namespace ArrayTypeMismatch
{
    class Class1
    {
        static void Main(string[] args)
        {
            string[] names = {"Dog", "Cat", "Fish"};
            Object[] objs  = (Object[]) names;

            try
            {
                objs[2] = "Mouse";

                foreach (object animalName in objs)
                {
                    System.Console.WriteLine(animalName);
                }
            }
            catch (System.ArrayTypeMismatchException)
            {
                // Not reached; "Mouse" is of the correct type.
                System.Console.WriteLine("Exception Thrown.");
            }

            try
            {
                Object obj = (Object) 13;
                objs[2] = obj;
            }
            catch (System.ArrayTypeMismatchException)
            {
                // Always reached, 13 is not a string.
                System.Console.WriteLine(
                    "New element is not of the correct type.");
            }

            // Set objs to an array of objects instead of
            // an array of strings.
            objs  = new Object[3];
            try
            {
                objs[0] = (Object) "Turtle";
                objs[1] = (Object) 12;
                objs[2] = (Object) 2.341;

                foreach (object element in objs)
                {
                    System.Console.WriteLine(element);
                }
            }
            catch (System.ArrayTypeMismatchException)
            {
                // ArrayTypeMismatchException is not thrown this time.
                System.Console.WriteLine("Exception Thrown.");
            }
        }
    }
}

Hinweise

ArrayTypeMismatchException wird ausgelöst, wenn das System das Element nicht in den für das Array deklarierten Typ konvertieren kann. Ein Element des Typs String kann beispielsweise nicht in einem Int32 Array gespeichert werden, da die Konvertierung zwischen diesen Typen nicht unterstützt wird. Es ist im Allgemeinen unnötig, dass Anwendungen diese Ausnahme auslösen.

Die folgenden MSIL-Anweisungen (Microsoft Intermediate Language) lösen Folgendes aus ArrayTypeMismatchException:

  • ldelem.<type>

  • ldelema

  • stelem.<type>

ArrayTypeMismatchException verwendet die HRESULT-COR_E_ARRAYTYPEMISMATCH, die den Wert 0x80131503 hat.

Eine Liste der anfänglichen Eigenschaftswerte für eine Instanz von ArrayTypeMismatchException, finden Sie unter den ArrayTypeMismatchException Konstruktoren.

Konstruktoren

ArrayTypeMismatchException()

Initialisiert eine neue Instanz der ArrayTypeMismatchException-Klasse.

ArrayTypeMismatchException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der ArrayTypeMismatchException-Klasse mit serialisierten Daten.

ArrayTypeMismatchException(String)

Initialisiert eine neue Instanz der ArrayTypeMismatchException-Klasse mit einer angegebenen Fehlermeldung.

ArrayTypeMismatchException(String, Exception)

Initialisiert eine neue Instanz der ArrayTypeMismatchException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat.

Eigenschaften

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.

(Geerbt von Exception)
HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.

(Geerbt von Exception)
InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
Message

Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird.

(Geerbt von Exception)
Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist.

(Geerbt von Exception)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.

(Geerbt von Exception)
GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.

(Geerbt von Exception)

Ereignisse

SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.

(Geerbt von Exception)

Gilt für

Produkt Versionen
.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
.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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Siehe auch