 |
 |
|
Array
|
|
As Array de C# são tipos da referência. O tamanho da disposição não é parte do tipo da disposição
|
|
|
|
Os exemplos da disposição são criados usando o keyword novo. Os elementos de disposição são defeito inicializados a zero (enums e tipos numéricos), falsos (bool), ou a zero (tipos da referência).
|
row = new int[42];
grid = new int[9,6];
|
|
|
Os exemplos da disposição podem ser inicializados:
|
int[] row = new int[4]{ 1, 2, 3, 4 }; // longhand
int[] row = { 1, 2, 3, 4 }; // shorthand
row = new int[4]{ 1, 2, 3, 4 }; // okay
row = { 1, 2, 3, 4 }; // compile time error
|
|
|
Os índices da disposição começam por zero e todos os acessos da disposição são limites verificados (IndexOutOfRangeException). Todas as Array herdam implicitamente da classe de System.Array. Esta classe traz tipos da disposição no CLR e fornece alguns propriedades e métodos acessíveis:
|
namespace System
{
public abstract class Array : . ..
{
...
public int Length { get { ... } }
public int Rank { get { ... } }
public int GetLength(int rank) { ... }
public virutal IEnumerator GetEnumerator() { ... }
...
}
}
|
|
| Que são Array Jagged em C#?
|
|
Um tipo especial de disposição é introduzido em C#. Uma disposição Jagged é uma disposição de uma disposição em que o comprimento de cada índice da disposição pode diferir.
|
|
Exemplo: Uma disposição Jagged pode ser usada é criar uma tabela em que os comprimentos das fileiras não estão mesmos. Esta disposição é declarada usando os suportes quadrados ([]) indicar cada dimensão.
|
|
O seguinte código demonstra a criação de uma disposição jagged bidimensional.
|
Class Jagged
{
public static void Main()
{
int [][] jagged=new int [3][];
jagged[0]=mew int[4]
jagged[1]=mew int[3]
jagged[2]=mew int[5]
int I;
‘Storing values in first array
for (I=0;I<4;I++)
jagged[0][I]=I;
‘Storing values in second array
for( I=0;I<3;I++)
jagged[1][I]=I;
‘Storing values in third array
for(I=0;I<5;I++)
jagged[2][I]=I;
‘Displaying values from first array
for (I=0;I<4;I++)
Console.WriteLine(jagged[0][I])
‘Displaying values from second array
for (I=0;I<3;I++)
Console.WriteLine(jagged[1][I])
‘Displaying values from third array
for(I=0;I<5;I++)
Console.WriteLine(jagged[2][I])
}
}
|
|
|
O tipo do elemento de uma disposição enlata-se seja uma disposição que cría uma disposição “áspera” so-called. As Array ásperas não são CLS compliant. Nós podemos usar uma indicação do foreach iterar com uma disposição áspera ou com uma disposição retangular de qualquer Rank:
|
class ArrayIteration
{
static void Main()
{
int[] row = { 1, 2, 3, 4 };
foreach (int number in row) {
...
}
int[,] grid = { { 1, 2 }, { 3, 4 } };
foreach (int number in grid) {
...
}
int[][] ragged =
{ new int[2]{1,2}, new int[4]{3,4,5,6} };
foreach (int[] array in ragged) {
foreach (int number in array) {
...
}
}
}
}
|
|
 |
 |
Keywords c# passing arrays, c# multidimensional, c# two dimensional array, c# multi dimensional arrays,
c# multidimensional array, c# array, array in c#, c# string array, arrays c#, arrays in c#,
byte array c#, string array in c#, c# dynamic array, c# char array, string to byte array c#,
c# array sort, c# array, c# declare array, c# array declaration, c# initialize array,
array to string c#, c# convert byte array
|