Array.GetLowerBound(Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el índice del primer elemento de la dimensión especificada en la matriz.
public:
int GetLowerBound(int dimension);
public int GetLowerBound (int dimension);
member this.GetLowerBound : int -> int
Public Function GetLowerBound (dimension As Integer) As Integer
Parámetros
- dimension
- Int32
Dimensión de base cero de la matriz cuyo índice de inicio debe determinarse.
Devoluciones
Índice del primer elemento de la dimensión especificada en la matriz.
Excepciones
Ejemplos
En el ejemplo siguiente se usan los GetLowerBound métodos y GetUpperBound para mostrar los límites de una matriz unidimensional y bidimensional y para mostrar los valores de sus elementos de matriz.
using namespace System;
void main()
{
// Create a one-dimensional integer array.
array<int>^ integers = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
// Get the upper and lower bound of the array.
int upper = integers->GetUpperBound(0);
int lower = integers->GetLowerBound(0);
Console::WriteLine("Elements from index {0} to {1}:", lower, upper);
// Iterate the array.
for (int ctr = lower; ctr <= upper; ctr++)
Console::Write("{0}{1}{2}", ctr == lower ? " " : "",
integers[ctr],
ctr < upper ? ", " : Environment::NewLine);
Console::WriteLine();
// Create a two-dimensional integer array.
array<int, 2>^ integers2d = { {2, 4}, {3, 9}, {4, 16}, {5, 25},
{6, 36}, {7, 49}, {8, 64}, {9, 81} };
// Get the number of dimensions.
int rank = integers2d->Rank;
Console::WriteLine("Number of dimensions: {0}", rank);
for (int ctr = 0; ctr < rank; ctr++)
Console::WriteLine(" Dimension {0}: from {1} to {2}",
ctr, integers2d->GetLowerBound(ctr),
integers2d->GetUpperBound(ctr));
// Iterate the 2-dimensional array and display its values.
Console::WriteLine(" Values of array elements:");
for (int outer = integers2d->GetLowerBound(0); outer <= integers2d->GetUpperBound(0);
outer++)
for (int inner = integers2d->GetLowerBound(1); inner <= integers2d->GetUpperBound(1);
inner++)
Console::WriteLine(" {3}{0}, {1}{4} = {2}", outer, inner,
integers2d->GetValue(outer, inner), "{", "}");
}
// The example displays the following output:
// Elements from index 0 to 9:
// 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
//
// Number of dimensions: 2
// Dimension 0: from 0 to 7
// Dimension 1: from 0 to 1
// Values of array elements:
// {0, 0} = 2
// {0, 1} = 4
// {1, 0} = 3
// {1, 1} = 9
// {2, 0} = 4
// {2, 1} = 16
// {3, 0} = 5
// {3, 1} = 25
// {4, 0} = 6
// {4, 1} = 36
// {5, 0} = 7
// {5, 1} = 49
// {6, 0} = 8
// {6, 1} = 64
// {7, 0} = 9
// {7, 1} = 81
using System;
public class Example
{
public static void Main()
{
// Create a one-dimensional integer array.
int[] integers = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
// Get the upper and lower bound of the array.
int upper = integers.GetUpperBound(0);
int lower = integers.GetLowerBound(0);
Console.WriteLine($"Elements from index {lower} to {upper}:");
// Iterate the array.
for (int ctr = lower; ctr <= upper; ctr++)
Console.Write($"{(ctr == lower ?" " : "")}{integers[ctr]}" +
$"{(ctr < upper ? ", " : Environment.NewLine)}");
Console.WriteLine();
// Create a two-dimensional integer array.
int[,] integers2d= { {2, 4}, {3, 9}, {4, 16}, {5, 25},
{6, 36}, {7, 49}, {8, 64}, {9, 81} };
// Get the number of dimensions.
int rank = integers2d.Rank;
Console.WriteLine($"Number of dimensions: {rank}");
for (int ctr = 0; ctr < rank; ctr++)
Console.WriteLine($" Dimension {ctr}: " +
$"from {integers2d.GetLowerBound(ctr)} to {integers2d.GetUpperBound(ctr)}");
// Iterate the 2-dimensional array and display its values.
Console.WriteLine(" Values of array elements:");
for (int outer = integers2d.GetLowerBound(0); outer <= integers2d.GetUpperBound(0);
outer++)
for (int inner = integers2d.GetLowerBound(1); inner <= integers2d.GetUpperBound(1);
inner++)
Console.WriteLine($" {'\u007b'}{outer}, {inner}{'\u007d'} = " +
$"{integers2d.GetValue(outer, inner)}");
}
}
// The example displays the following output:
// Elements from index 0 to 9:
// 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
//
// Number of dimensions: 2
// Dimension 0: from 0 to 7
// Dimension 1: from 0 to 1
// Values of array elements:
// {0, 0} = 2
// {0, 1} = 4
// {1, 0} = 3
// {1, 1} = 9
// {2, 0} = 4
// {2, 1} = 16
// {3, 0} = 5
// {3, 1} = 25
// {4, 0} = 6
// {4, 1} = 36
// {5, 0} = 7
// {5, 1} = 49
// {6, 0} = 8
// {6, 1} = 64
// {7, 0} = 9
// {7, 1} = 81
open System
// Create a one-dimensional integer array.
let integers = [| 2..2..20 |]
// Get the upper and lower bound of the array.
let upper = integers.GetUpperBound 0
let lower = integers.GetLowerBound 0
printfn $"Elements from index {lower} to {upper}:"
// Iterate the array.
for i = lower to upper do
if i = lower then printf " "
printf $"{integers[i]}"
if i < upper then ", " else Environment.NewLine
|> printf "%s"
printfn ""
// Create a two-dimensional integer array.
let integers2d =
array2D [ [ 2; 4 ]; [ 3; 9 ]; [ 4; 16 ]; [ 5; 25 ]
[ 6; 36 ]; [ 7; 49 ]; [ 8; 64 ]; [ 9; 81 ] ]
// Get the number of dimensions.
let rank = integers2d.Rank
printfn $"Number of dimensions: {rank}"
for i = 0 to rank - 1 do
printfn $" Dimension {i}: from {integers2d.GetLowerBound i} to {integers2d.GetUpperBound i}"
// Iterate the 2-dimensional array and display its values.
printfn " Values of array elements:"
for outer = integers2d.GetLowerBound 0 to integers2d.GetUpperBound 0 do
for inner = integers2d.GetLowerBound 1 to integers2d.GetUpperBound 1 do
printfn $" {'\u007b'}{outer}, {inner}{'\u007d'} = {integers2d.GetValue(outer, inner)}"
// The example displays the following output:
// Elements from index 0 to 9:
// 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
//
// Number of dimensions: 2
// Dimension 0: from 0 to 7
// Dimension 1: from 0 to 1
// Values of array elements:
// {0, 0} = 2
// {0, 1} = 4
// {1, 0} = 3
// {1, 1} = 9
// {2, 0} = 4
// {2, 1} = 16
// {3, 0} = 5
// {3, 1} = 25
// {4, 0} = 6
// {4, 1} = 36
// {5, 0} = 7
// {5, 1} = 49
// {6, 0} = 8
// {6, 1} = 64
// {7, 0} = 9
// {7, 1} = 81
Public Module Example
Public Sub Main()
' Create a one-dimensional integer array.
Dim integers() As Integer = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 }
' Get the upper and lower bound of the array.
Dim upper As Integer = integers.GetUpperBound(0)
Dim lower As Integer = integers.GetLowerBound(0)
Console.WriteLine($"Elements from index {lower} to {upper}:")
' Iterate the array.
For ctr As Integer = lower To upper
Console.Write("{0}{1}{2}", If(ctr = lower, " ", ""),
integers(ctr),
If(ctr < upper, ", ", vbCrLf))
Next
Console.WriteLine()
' Create a two-dimensional integer array.
Dim integers2d(,) As Integer = {{2, 4}, {3, 9}, {4, 16}, {5, 25},
{6, 36}, {7, 49}, {8, 64}, {9, 81} }
' Get the number of dimensions.
Dim rank As Integer = integers2d.Rank
Console.WriteLine($"Number of dimensions: {rank}")
For ctr As Integer = 0 To rank - 1
Console.WriteLine($" Dimension {ctr}: " +
$"from {integers2d.GetLowerBound(ctr)} to {integers2d.GetUpperBound(ctr)}")
Next
' Iterate the 2-dimensional array and display its values.
Console.WriteLine(" Values of array elements:")
For outer = integers2d.GetLowerBound(0) To integers2d.GetUpperBound(0)
For inner = integers2d.GetLowerBound(1) To integers2d.GetUpperBound(1)
Console.WriteLine($" {ChrW(&h07b)}{outer}, {inner}{ChrW(&h007d)} = " +
$"{integers2d.GetValue(outer, inner)}")
Next
Next
End Sub
End Module
' The example displays the following output.
' Elements from index 0 to 9:
' 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
'
' Number of dimensions: 2
' Dimension 0: from 0 to 7
' Dimension 1: from 0 to 1
' Values of array elements:
' {0, 0} = 2
' {0, 1} = 4
' {1, 0} = 3
' {1, 1} = 9
' {2, 0} = 4
' {2, 1} = 16
' {3, 0} = 5
' {3, 1} = 25
' {4, 0} = 6
' {4, 1} = 36
' {5, 0} = 7
' {5, 1} = 49
' {6, 0} = 8
' {6, 1} = 64
' {7, 0} = 9
' {7, 1} = 81
Comentarios
GetLowerBound(0)
devuelve el índice inicial de la primera dimensión de la matriz y GetLowerBound(Rank - 1)
devuelve el índice inicial de la última dimensión de la matriz.
El GetLowerBound método siempre devuelve un valor que indica el índice del límite inferior de la matriz, incluso si la matriz está vacía.
Tenga en cuenta que, aunque la mayoría de las matrices de .NET están basadas en cero (es decir, el GetLowerBound método devuelve cero para cada dimensión de una matriz), .NET admite matrices que no están basadas en cero. Estas matrices se pueden crear con el CreateInstance(Type, Int32[], Int32[]) método y también se pueden devolver desde código no administrado.
Este método es una operación O(1).