ArrayTypeMismatchException クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ArrayTypeMismatchException クラスの意味・解説 

ArrayTypeMismatchException クラス

間違った型の要素配列格納しようとするスローされる例外

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ArrayTypeMismatchException
    Inherits SystemException
Dim instance As ArrayTypeMismatchException
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class ArrayTypeMismatchException : SystemException
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class ArrayTypeMismatchException
 : public SystemException
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ArrayTypeMismatchException extends
 SystemException
SerializableAttribute 
ComVisibleAttribute(true) 
public class ArrayTypeMismatchException extends
 SystemException
解説解説

ArrayTypeMismatchException は、システム要素の型を配列に対して宣言されている型に変換できないときにスローさます。たとえば、String 型の要素は、Int32 配列には格納できません。これは、これらの型の間の変換サポートされていないためです。通常アプリケーションでこの例外スローする必要はありません。

次の MSIL (Microsoft Intermediate Language) 命令は、ArrayTypeMismatchExceptionスローます。

ArrayTypeMismatchException は、値 0x80131503 を保持する HRESULT COR_E_ARRAYTYPEMISMATCH を使用します

ArrayTypeMismatchExceptionインスタンス初期プロパティ値の一覧については、ArrayTypeMismatchException コンストラクタトピック参照してください

使用例使用例

ArrayTypeMismatchExceptionスローされる場合コード例次に示します

Option Explicit On 
Option Strict On

Imports System


Namespace ArrayTypeMismatch

   Class Class1

      'Entry point which delegates to C-style main Private Function
      Public Overloads Shared
 Sub Main()
         Main(System.Environment.GetCommandLineArgs())
      End Sub

      Overloads Shared Sub
 Main(ByVal args() As String)
         
         Dim names As String()
 = {"Dog", "Cat",
 "Fish"}
         Dim objs As System.Object() = CType(names,
 System.Object())

         Try
            objs(2) = "Mouse"

            Dim animalName As Object
            For Each animalName In
 objs
               System.Console.WriteLine(animalName)
            Next animalName
         Catch exp As System.ArrayTypeMismatchException
            ' Not reached, "Mouse" is of the correct type.
            System.Console.WriteLine("Exception Thrown.")
         End Try

         Try
            Dim obj As System.Object
            obj = CType(13, System.Object)
            objs(2) = obj
         Catch exp As System.ArrayTypeMismatchException
            ' Always reached, 13 is not a string.
            System.Console.WriteLine("New element is not of the
 correct type.")
         End Try

         ' Set objs to an array of objects instead of an array of strings.
         Dim objs2(3) As System.Object
         Try
            objs2(0) = "Turtle"
            objs2(1) = 12
            objs2(2) = 2.341

            Dim element As Object
            For Each element In
 objs2
               System.Console.WriteLine(element)
            Next element
         Catch exp As System.ArrayTypeMismatchException
            ' ArrayTypeMismatchException is not thrown this time.
            System.Console.WriteLine("Exception Thrown.")
         End Try
         
      End Sub
   End Class
End Namespace
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.");
            }
        }
    }
}
using namespace System;
int main()
{
   array<String^>^names = { "Dog", "Cat", "Fish"};
   array<Object^>^objs = dynamic_cast<array<Object^>^>(names);
   try
   {
      objs[ 2 ] = (Object^)"Mouse";
      for ( Int32 i = 0; i < objs->Length; i++ )
      {
         Console::WriteLine( objs[ i ] );

      }
   }
   catch ( System::ArrayTypeMismatchException^ ) 
   {
      
      // Not reached, "Mouse" is of the correct type
      Console::WriteLine(  "Exception Thrown" );
   }

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

   
   // Set obj to an array of objects instead of an array of strings
   array<Object^>^objs2 = gcnew array<Object^>(3);
   try
   {
      objs2[ 0 ] = (Object^)"Turtle";
      objs2[ 1 ] = 12;
      objs2[ 2 ] = 2.341;
      for ( Int32 i = 0; i < objs->Length; i++ )
      {
         Console::WriteLine( objs2[ i ] );

      }
   }
   catch ( System::ArrayTypeMismatchException^ ) 
   {
      
      // ArrayTypeMismatchException is not thrown this time.
      Console::WriteLine(  "Exception Thrown" );
   }

}

/*expected return values:
Dog
Cat
Mouse
New element is not of the correct type
Turtle
12
2.341
*/
package ArrayTypeMismatch;

import System.*;
  
class Class1
{
    public static void main(String[]
 args)
    {
        String names[] = { "Dog", "Cat", "Fish" };
        Object objs[] = names;

        try {
            objs.set_Item(2, "Mouse");
            for (int iCtr = 0; iCtr < objs.length;
 iCtr++) {
                Console.WriteLine(objs[iCtr]);
            }
        }
        catch (System.ArrayTypeMismatchException exp) {
            // Not reached, "Mouse" is of the correct type.
            Console.WriteLine("Exception Thrown.");
        }
        try {
            objs[2] = (Int32)13;
        }
        catch (System.ArrayTypeMismatchException exp) {
            // Always reached, 13 is not a string.
            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.set_Item(0, "Turtle");
            objs.set_Item(1, (Int16)12);
            objs.set_Item(2, (Single)2.341);
            for (int iCtr = 0; iCtr < objs.length;
 iCtr++) {
                Console.WriteLine(objs[iCtr]);
            }
        }
        catch (System.ArrayTypeMismatchException exp) {
            // ArrayTypeMismatchException is not thrown this time.
            System.Console.WriteLine("Exception Thrown.");
        }
    } //main
} //Class1 
継承階層継承階層
System.Object
   System.Exception
     System.SystemException
      System.ArrayTypeMismatchException
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ArrayTypeMismatchException クラス」の関連用語

ArrayTypeMismatchException クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ArrayTypeMismatchException クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS