Array.GetUpperBound メソッドとは? わかりやすく解説

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

Array.GetUpperBound メソッド

Array 内の指定した次元の上限を取得します

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

例外例外
例外種類条件

IndexOutOfRangeException

dimension が 0 未満です。

または

dimensionRank上です。

解説解説

GetUpperBound(0)Array最初次元インデックスの上限を返しますGetUpperBound(Rank - 1)Array最後次元の上限を返します

このメソッドは O(1) 操作です。

使用例使用例

GetLowerBound と GetUpperBound使用して 1 次元配列多次元配列2 つ配列初期化する方法次のコード例示します

Imports System
Imports Microsoft.VisualBasic

Public Class SamplesArray    
    
    Public Shared Sub Main()
        
        ' Creates a new one-dimensional Array of type Int32.
        Dim my1DIntArray As Array = Array.CreateInstance(GetType(Int32),
 5)
        
        ' Uses GetLowerBound and GetUpperBound in the for loop.
        Dim i As Integer
        For i = my1DIntArray.GetLowerBound(0) To
 my1DIntArray.GetUpperBound(0)
            my1DIntArray.SetValue(i + 1, i)
        Next i 
        ' Displays the bounds and values of the one-dimensional Array.
        Console.WriteLine("One-dimensional Array:")
        Console.WriteLine("Rank" + ControlChars.Tab
 + "Lower" _
           + ControlChars.Tab + "Upper")
        Console.WriteLine("{0}" + ControlChars.Tab
 + "{1}" _
           + ControlChars.Tab + "{2}", 0, my1DIntArray.GetLowerBound(0),
 _
           my1DIntArray.GetUpperBound(0))
        Console.WriteLine("Values:")
        PrintValues(my1DIntArray)
        Console.WriteLine()
        
        ' Creates a new three-dimensional Array of type Int32.
        Dim my3DIntArray As Array = _
           Array.CreateInstance(GetType(Int32), 2, 3, 4)
        
        ' Uses GetLowerBound and GetUpperBound in the for loop.
        Dim j, k As Integer
        For i = my3DIntArray.GetLowerBound(0) _
        To my3DIntArray.GetUpperBound(0)
            For j = my3DIntArray.GetLowerBound(1) _
            To my3DIntArray.GetUpperBound(1)
                For k = my3DIntArray.GetLowerBound(2) _
                To my3DIntArray.GetUpperBound(2)
                    my3DIntArray.SetValue(i * 100 + j * 10 + k, i, j, k)
                Next k
            Next j 
        Next i

        ' Displays the bounds and values of the multidimensional Array.
        Console.WriteLine("Multidimensional Array:")
        Console.WriteLine("Rank" + ControlChars.Tab
 + "Lower" _
           + ControlChars.Tab + "Upper")
        For i = 0 To my3DIntArray.Rank - 1
            Console.WriteLine("{0}" + ControlChars.Tab
 + "{1}" _
               + ControlChars.Tab + "{2}", i, my3DIntArray.GetLowerBound(i),
 _
               my3DIntArray.GetUpperBound(i))
        Next i
        Console.WriteLine("Values:")
        PrintValues(my3DIntArray)
    End Sub
    
    
    Public Shared Sub PrintValues(myArr
 As Array)
        Dim myEnumerator As System.Collections.IEnumerator
 = _
           myArr.GetEnumerator()
        Dim i As Integer
 = 0
        Dim cols As Integer
 = myArr.GetLength(myArr.Rank - 1)
        While myEnumerator.MoveNext()
            If i < cols Then
                i += 1
            Else
                Console.WriteLine()
                i = 1
            End If
            Console.Write(ControlChars.Tab + "{0}",
 myEnumerator.Current)
        End While
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' One-dimensional Array:
' Rank    Lower    Upper
' 0    0    4
' Values:
'     1    2    3    4    5
' 
' Multidimensional Array:
' Rank    Lower    Upper
' 0    0    1
' 1    0    2
' 2    0    3
' Values:
'     0    1    2    3
'     10    11    12    13
'     20    21    22    23
'     100    101    102    103
'     110    111    112    113
'     120    121    122    123
 using System;
 public class SamplesArray  {
 
    public static void Main()
  {
 
       // Creates a new one-dimensional Array of type Int32.
       Array my1DIntArray = Array.CreateInstance( typeof(Int32), 5 );
 
       // Uses GetLowerBound and GetUpperBound in the for loop.
       for ( int i = my1DIntArray.GetLowerBound(0);
 i <= my1DIntArray.GetUpperBound(0); i++ )
          my1DIntArray.SetValue( i+1, i );
 
       // Displays the bounds and values of the one-dimensional Array.
       Console.WriteLine( "One-dimensional Array:" );
       Console.WriteLine( "Rank\tLower\tUpper" );
       Console.WriteLine( "{0}\t{1}\t{2}", 0, my1DIntArray.GetLowerBound(0),
 my1DIntArray.GetUpperBound(0) );
       Console.WriteLine( "Values:" );
       PrintValues( my1DIntArray );
       Console.WriteLine();
 
       // Creates a new three-dimensional Array of type Int32.
       Array my3DIntArray = Array.CreateInstance( typeof(Int32), 2, 3, 4 );
 
       // Uses GetLowerBound and GetUpperBound in the for loop.
       for ( int i = my3DIntArray.GetLowerBound(0);
 i <= my3DIntArray.GetUpperBound(0); i++ )
          for ( int j = my3DIntArray.GetLowerBound(1);
 j <= my3DIntArray.GetUpperBound(1); j++ )
             for ( int k = my3DIntArray.GetLowerBound(2);
 k <= my3DIntArray.GetUpperBound(2); k++ )  {
                my3DIntArray.SetValue( (i*100)+(j*10)+k, i, j, k );
             }
 
       // Displays the bounds and values of the multidimensional Array.
       Console.WriteLine( "Multidimensional Array:" );
       Console.WriteLine( "Rank\tLower\tUpper" );
       for ( int i = 0; i < my3DIntArray.Rank;
 i++ )
          Console.WriteLine( "{0}\t{1}\t{2}", i, my3DIntArray.GetLowerBound(i),
 my3DIntArray.GetUpperBound(i) );
       Console.WriteLine( "Values:" );
       PrintValues( my3DIntArray );
    }
 
 
    public static void PrintValues(
 Array myArr )  {
       System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
       int i = 0;
       int cols = myArr.GetLength( myArr.Rank - 1 );
       while ( myEnumerator.MoveNext() )  {
          if ( i < cols )  {
             i++;
          } else  {
             Console.WriteLine();
             i = 1;
          }
          Console.Write( "\t{0}", myEnumerator.Current );
       }
       Console.WriteLine();
    }
 }
 /*
 This code produces the following output.
 
 One-dimensional Array:
 Rank    Lower    Upper
 0    0    4
 Values:
     1    2    3    4    5
 
 Multidimensional Array:
 Rank    Lower    Upper
 0    0    1
 1    0    2
 2    0    3
 Values:
     0    1    2    3
     10    11    12    13
     20    21    22    23
     100    101    102    103
     110    111    112    113
     120    121    122    123
*/ 
using namespace System;
void PrintValues( Array^ myArr );
void main()
{
   // Creates a new one-dimensional Array instance of type Int32.
   Array^ my1DIntArray = Array::CreateInstance( Int32::typeid, 5 );

   // Uses GetLowerBound and GetUpperBound in the for loop.
   for ( int i = my1DIntArray->GetLowerBound(
 0 ); i <= my1DIntArray->GetUpperBound( 0 ); i++ )
      my1DIntArray->SetValue( i + 1, i );

   // Displays the bounds and values of the one-dimensional Array.
   Console::WriteLine(  "One-dimensional Array:" );
   Console::WriteLine(  "Rank\tLower\tUpper" );
   Console::WriteLine(  "{0}\t{1}\t{2}", nullptr, my1DIntArray->GetLowerBound(
 0 ), my1DIntArray->GetUpperBound( 0 ) );
   Console::WriteLine(  "Values:" );
   PrintValues( my1DIntArray );
   Console::WriteLine();

   // Creates a new three-dimensional Array instance of type Int32.
   Array^ my3DIntArray = Array::CreateInstance( Int32::typeid, 2, 3, 4 );

   // Uses GetLowerBound and GetUpperBound in the for loop.
   for ( int i = my3DIntArray->GetLowerBound(
 0 ); i <= my3DIntArray->GetUpperBound( 0 ); i++ )
      for ( int j = my3DIntArray->GetLowerBound(
 1 ); j <= my3DIntArray->GetUpperBound( 1 ); j++ )
         for ( int k = my3DIntArray->GetLowerBound(
 2 ); k <= my3DIntArray->GetUpperBound( 2 ); k++ )
         {
            my3DIntArray->SetValue( (i * 100) + (j * 10) + k, i, j, k );
         }

   // Displays the bounds and values of the multidimensional Array.
   Console::WriteLine(  "Multidimensional Array:" );
   Console::WriteLine(  "Rank\tLower\tUpper" );
   for ( int i = 0; i < my3DIntArray->Rank;
 i++ )
      Console::WriteLine(  "{0}\t{1}\t{2}", i, my3DIntArray->GetLowerBound(
 i ), my3DIntArray->GetUpperBound( i ) );
   Console::WriteLine(  "Values:" );
   PrintValues( my3DIntArray );
}

void PrintValues( Array^ myArr )
{
   System::Collections::IEnumerator^ myEnumerator = myArr->GetEnumerator();
   int i = 0;
   int cols = myArr->GetLength( myArr->Rank - 1 );
   while ( myEnumerator->MoveNext() )
   {
      if ( i < cols )
      {
         i++;
      }
      else
      {
         Console::WriteLine();
         i = 1;
      }

      Console::Write(  "\t{0}", myEnumerator->Current );
   }

   Console::WriteLine();
}

/*
 This code produces the following output.
 
One-dimensional Array:
Rank    Lower   Upper
0       0       4
Values:
        1       2       3       4       5

Multidimensional Array:
Rank    Lower   Upper
0       0       1
1       0       2
2       0       3
Values:
        0       1       2       3
        10      11      12      13
        20      21      22      23
        100     101     102     103
        110     111     112     113
        120     121     122     123
*/
import System.*;

public class SamplesArray
{
    public static void main(String[]
 args)
    {
        // Creates a new one-dimensional Array of type Int32.
        Array my1DIntArray = Array.CreateInstance(Int32.class.ToType(),
 5);
        // Uses GetLowerBound and GetUpperBound in the for loop.
        for (int i = my1DIntArray.GetLowerBound(0);
 i <= my1DIntArray.
            GetUpperBound(0); i++) {
            my1DIntArray.SetValue((Int32)(i + 1), i);
        }
        // Displays the bounds and values of the one-dimensional Array.
        Console.WriteLine("One-dimensional Array:");
        Console.WriteLine("Rank\tLower\tUpper");
        Console.WriteLine("{0}\t{1}\t{2}", (Int32)0, (Int32)my1DIntArray.
            GetLowerBound(0), (Int32)my1DIntArray.GetUpperBound(0));
        Console.WriteLine("Values:");
        PrintValues(my1DIntArray);
        Console.WriteLine();
        // Creates a new three-dimensional Array of type Int32.
        Array my3DIntArray = Array.CreateInstance(Int32.class.ToType(),
 2, 3, 4);
        // Uses GetLowerBound and GetUpperBound in the for loop.
        for (int i = my3DIntArray.GetLowerBound(0);
 i <= my3DIntArray.
            GetUpperBound(0); i++) {
            for (int j = my3DIntArray.GetLowerBound(1);
 j <= my3DIntArray.
                GetUpperBound(1); j++) {
                for (int k = my3DIntArray.GetLowerBound(2);
 k <= my3DIntArray.
                    GetUpperBound(2); k++) {
                    my3DIntArray.SetValue((Int32)(i * 100 + j * 10 + k), i, j, k);
                }
            }
        }  // Displays the bounds and values of the multidimensional
 Array.
        Console.WriteLine("Multidimensional Array:");
        Console.WriteLine("Rank\tLower\tUpper");
        for (int i = 0; i < my3DIntArray.get_Rank();
 i++) {
            Console.WriteLine("{0}\t{1}\t{2}", (Int32)i, (Int32)my3DIntArray.
                GetLowerBound(i), (Int32)my3DIntArray.GetUpperBound(i));
        }
        Console.WriteLine("Values:");
        PrintValues(my3DIntArray);
    } //main

    public static void PrintValues(Array
 myArr)
    {
        System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
        int i = 0;
        int cols = myArr.GetLength(myArr.get_Rank() - 1);
        while (myEnumerator.MoveNext()) {
            if (i < cols) {
                i++;
            }
            else {
                Console.WriteLine();
                i = 1;
            }
            Console.Write("\t{0}", myEnumerator.get_Current());
        }
        Console.WriteLine();
    } //PrintValues
} //SamplesArray

/*
 This code produces the following output.
 
 One-dimensional Array:
 Rank    Lower    Upper
 0    0    4
 Values:
     1    2    3    4    5
 
 Multidimensional Array:
 Rank    Lower    Upper
 0    0    1
 1    0    2
 2    0    3
 Values:
     0    1    2    3
     10    11    12    13
     20    21    22    23
     100    101    102    103
     110    111    112    113
     120    121    122    123
*/
import System;

// Creates a new one-dimensional Array of type Int32.
var my1DIntArray : System.Array = System.Array.CreateInstance(
 Int32, 5 );

// Uses GetLowerBound and GetUpperBound in the for loop.
for ( var m : int = my1DIntArray.GetLowerBound(0);
 m <= my1DIntArray.GetUpperBound(0); m++ )
  my1DIntArray.SetValue( Int32(m+1), m );

// Displays the bounds and values of the one-dimensional Array.
Console.WriteLine( "One-dimensional Array:" );
Console.WriteLine( "Rank\tLower\tUpper" );
Console.WriteLine( "{0}\t{1}\t{2}", 0, my1DIntArray.GetLowerBound(0), my1DIntArray.GetUpperBound(0)
 );
Console.WriteLine( "Values:" );
PrintValues( my1DIntArray );
Console.WriteLine();

// Creates a new three-dimensional Array of type Int32.
var my3DIntArray : System.Array = System.Array.CreateInstance(
 Int32, 2, 3, 4 );

// Uses GetLowerBound and GetUpperBound in the for loop.
for ( var i : int = my3DIntArray.GetLowerBound(0);
 i <= my3DIntArray.GetUpperBound(0); i++ )
  for ( var j : int = my3DIntArray.GetLowerBound(1);
 j <= my3DIntArray.GetUpperBound(1); j++ )
     for ( var k : int =
 my3DIntArray.GetLowerBound(2); k <= my3DIntArray.GetUpperBound(2); k++ )  {
        my3DIntArray.SetValue( Int32((i*100)+(j*10)+k), i, j, k );
     }

// Displays the bounds and values of the multidimensional Array.
Console.WriteLine( "Multidimensional Array:" );
Console.WriteLine( "Rank\tLower\tUpper" );
for ( var l : int = 0; l
 < my3DIntArray.Rank; l++ )
  Console.WriteLine( "{0}\t{1}\t{2}", l, my3DIntArray.GetLowerBound(l),
 my3DIntArray.GetUpperBound(l) );
Console.WriteLine( "Values:" );
PrintValues( my3DIntArray );
 
 
function PrintValues( myArr : System.Array)  {
   var myEnumerator : System.Collections.IEnumerator  = myArr.GetEnumerator();
   var i : int = 0;
   var cols : int = myArr.GetLength( myArr.Rank
 - 1 );
   while ( myEnumerator.MoveNext() )  {
      if ( i < cols )  {
         i++;
      } else  {
         Console.WriteLine();
         i = 1;
      }
      Console.Write( "\t{0}", myEnumerator.Current );
   }
   Console.WriteLine();
}
 /*
 This code produces the following output.
 
 One-dimensional Array:
 Rank    Lower    Upper
 0    0    4
 Values:
     1    2    3    4    5
 
 Multidimensional Array:
 Rank    Lower    Upper
 0    0    1
 1    0    2
 2    0    3
 Values:
     0    1    2    3
     10    11    12    13
     20    21    22    23
     100    101    102    103
     110    111    112    113
     120    121    122    123
*/ 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からArray.GetUpperBound メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からArray.GetUpperBound メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からArray.GetUpperBound メソッドを検索

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

辞書ショートカット

すべての辞書の索引

Array.GetUpperBound メソッドのお隣キーワード
検索ランキング

   

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



Array.GetUpperBound メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS