Array.GetLowerBound(Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá index prvního prvku zadané dimenze v poli.
public:
int GetLowerBound(int dimension);
public int GetLowerBound (int dimension);
member this.GetLowerBound : int -> int
Public Function GetLowerBound (dimension As Integer) As Integer
Parametry
- dimension
- Int32
Nulový rozměr pole, jehož počáteční index je třeba určit.
Návraty
Index prvního prvku zadané dimenze v poli.
Výjimky
Příklady
Následující příklad používá metody GetLowerBound a GetUpperBound metody k zobrazení hranic jednorozměrného a dvojrozměrného pole a k zobrazení hodnot jejich prvků pole.
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
Poznámky
GetLowerBound(0)
vrátí počáteční index první dimenze pole a GetLowerBound(Rank - 1)
vrátí počáteční index poslední dimenze pole.
Metoda GetLowerBound vždy vrátí hodnotu, která označuje index dolní hranice pole, i když je matice prázdná.
Všimněte si, že i když většina polí v .NET je založená na nule (to znamená, GetLowerBound že metoda vrací nulu pro každou dimenzi pole), .NET podporuje pole, která nejsou založená na nule. Taková pole lze vytvořit pomocí CreateInstance(Type, Int32[], Int32[]) metody a lze je také vrátit z nespravovaného kódu.
Tato metoda je operace O(1).