Pole (Průvodce programováním v C#)
Do datové struktury pole můžete uložit více proměnných stejného typu. Pole deklarujete zadáním typu jeho prvků. Pokud chcete, aby pole ukládal prvky libovolného typu, můžete object zadat jako jeho typ. V jednotném systému typů jazyka C# dědí všechny typy, předdefinované a uživatelem definované typy odkazů a typy hodnot přímo nebo nepřímo z Object .
type[] arrayName;
Příklad
Následující příklad vytvoří jednorozměrná, multidimenzionální a vícenásobná pole:
class TestArraysClass
{
static void Main()
{
// Declare a single-dimensional array of 5 integers.
int[] array1 = new int[5];
// Declare and set array element values.
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax.
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array.
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values.
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array.
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure.
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
Přehled polí
Pole má následující vlastnosti:
- Pole může být jednorozměrné, multidimenzionální nebo vícenásobné.
- Počet dimenzí a délka každé dimenze jsou vytvořeny při vytvoření instance pole. Tyto hodnoty nelze během životnosti instance změnit.
- Výchozí hodnoty prvků číselného pole jsou nastaveny na nulu a referenční prvky jsou nastaveny na
null. - Vícesocené pole je pole polí, a proto jeho prvky jsou odkazové typy a jsou inicializovány na
null. - Pole jsou indexována od nuly: pole s
nprvky se indexuje z0don-1. - Prvky pole mohou být libovolného typu, včetně typu pole.
- Typy polí jsou odkazové typy odvozené od abstraktního základního typu Array . Všechna pole implementují IList , a IEnumerable . Pomocí příkazu foreach můžete iterovat polem. Jednorozměrná pole také implementují a IList<T> IEnumerable<T> .
Chování výchozí hodnoty
- U typů hodnot jsou prvky pole inicializovány s výchozí hodnotou, 0bitovým vzorem. Elementy budou mít hodnotu
0. - Všechny odkazové typy (včetně typů s možnou hodnotou null)mají hodnoty
null. - Pro typy hodnot s možnou hodnotou null je nastavená na a
HasValuefalseprvky by byly nastaveny nanull.
Pole jako objekty
V jazyce C# jsou pole ve skutečnosti objekty a ne jenom adresovatelné oblasti souvislé paměti jako v jazyce C a C++. Array je abstraktní základní typ všech typů polí. Můžete použít vlastnosti a další členy třídy, které Array má. Příkladem je použití vlastnosti Length k získání délky pole. Následující kód přiřadí délku numbers pole, což je 5 , proměnné s názvem lengthOfNumbers :
int[] numbers = { 1, 2, 3, 4, 5 };
int lengthOfNumbers = numbers.Length;
Třída Array poskytuje mnoho dalších užitečných metod a vlastností pro řazení, vyhledávání a kopírování polí. Následující příklad používá Rank vlastnost k zobrazení počtu dimenzí pole.
class TestArraysClass
{
static void Main()
{
// Declare and initialize an array.
int[,] theArray = new int[5, 10];
System.Console.WriteLine("The array has {0} dimensions.", theArray.Rank);
}
}
// Output: The array has 2 dimensions.
Viz také
- Jak používat jednorozměrná pole
- Jak používat multidimenzionální pole
- Jak používat více než více polí
- Použití příkazu foreach s poli
- Předávání polí jako argumentů
- Implicitně typovaná pole
- Průvodce programováním v C#
- Kolekce
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.