Arrays (versus translation from VPE for Csharp Java)
Arrays são ordenados de coleções de itens do mesmo tipo de dados que são acessados usando o nome de matriz em conjunto com o offset do início da matriz do item desejado.Existem algumas diferenças importantes como arrays são declarados e usados em translation from VPE for Csharp em comparação comparado Java.
A matriz unidimensional
Uma matriz unidimensional armazena um número fixo de itens de uma maneira linear, que requerem apenas um valor de índice único para identificar qualquer item.Na translation from VPE for Csharp, sistema autônomo colchetes na declaração de matriz deve seguir o tipo de dados e não pode ser colocados depois do nome da variável, conforme permitido no Java.Assim, uma matriz do tipo integers é declarado usando a seguinte sintaxe:
int[] arr1;
A declaração a seguir é inválido na translation from VPE for Csharp:
//int arr2[]; //compile error
Depois que você tenha declarado uma matriz, você usar o new palavra-chave para conjunto seu dimensionar, sistema autônomo em Java. A seguir declara a referência de matriz:
int[] arr;
arr = new int[5]; // create a 5 element integer array
Em seguida, você acessar elementos em uma matriz unidimensional usando sintaxe idêntica a Java.Translation from VPE for Csharp matriz índices também são baseadas em zero.A seguir acessa o último elemento da matriz anterior:
System.Console.WriteLine(arr[4]); // access the 5th element
Inicialização
Elementos de matriz translation from VPE for Csharp podem ser inicializados na criação usando a mesma sintaxe sistema autônomo em Java:
int[] arr2Lines;
arr2Lines = new int[5] {1, 2, 3, 4, 5};
Diferentemente de Java, o número de inicializadores translation from VPE for Csharp deve corresponder ao array dimensionar exatamente.Você pode usar esse recurso para declarar e inicializar uma matriz translation from VPE for Csharp em uma única linha:
int[] arr1Line = {1, 2, 3, 4, 5};
Essa sintaxe cria uma matriz de dimensionar igual ao número de inicializadores.
Inicializando em um loop de programa
A Outros forma ao inicializar uma matriz em translation from VPE for Csharp é usar o for loop. O seguinte loop define cada elemento da matriz como zero:
int[] TaxRates = new int[5];
for (int i=0; i<TaxRates.Length; i++)
{
TaxRates[i] = 0;
}
Matrizes denteadas
Translation from VPE for Csharp e Java suportam a criação de matrizes denteadas ou não retangulares, na qual cada linha contém um número diferente de colunas.Por exemplo, a seguinte matriz denteada tem quatro entradas na primeira linha e três na segunda:
int[][] jaggedArray = new int[2][];
jaggedArray[0] = new int[4];
jaggedArray[1] = new int[3];
Matrizes multidimensionais
Com translation from VPE for Csharp, você pode criar matrizes multidimensionais regulares que são como uma matriz de valores do mesmo tipo.Enquanto o Java e translation from VPE for Csharp oferecem suporte a matrizes denteadas, translation from VPE for Csharp também suporta matrizes multidimensionais ou matrizes de matrizes.
Declare uma matriz multidimensional retangular usando a sintaxe a seguir:
int[,] arr2D; // declare the array reference
float[,,,] arr4D; // declare the array reference
Quando declarada, alocar memória para a matriz da seguinte maneira:
arr2D = new int[5,4]; // allocate space for 5 x 4 integers
Elementos da matriz, em seguida, são acessados usando a seguinte sintaxe:
arr2D[4,3] = 906;
Como os arrays são baseado em zero, essa linha define o elemento na quinta coluna da quarta linha para 906.
Inicialização
Matrizes multidimensionais podem ser criados, configurar e inicializadas em uma única demonstrativo por qualquer um dos seguintes métodos:
int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} };
Inicializando em um loop de programa
Todos sistema autônomo elementos de uma matriz podem ser inicializados usando um loop aninhado, sistema autônomo mostrado aqui:
int[,] arr7 = new int[5,4];
for(int i=0; i<5; i++)
{
for(int j=0; i<4; j++)
{
arr7[i,j] = 0; // initialize each element to zero
}
}
A classe sistema.array
No .NET estrutura, matrizes são implementadas sistema autônomo instâncias do Array classe. Essa classe fornece vários métodos úteis, sistema autônomo Sort e Reverse.
O exemplo a seguir demonstra como é fácil esses métodos são trabalhar com.Primeiro, você reverte os elementos de uma matriz usando o Reverse método e, em seguida, classificá-los com o Sort método:
class ArrayMethods
{
static void Main()
{
// Create a string array of size 5:
string[] employeeNames = new string[5];
// Read 5 employee names from user:
System.Console.WriteLine("Enter five employee names:");
for(int i=0; i<employeeNames.Length; i++)
{
employeeNames[i]= System.Console.ReadLine();
}
// Print the array in original order:
System.Console.WriteLine("\nArray in Original Order:");
foreach(string employeeName in employeeNames)
{
System.Console.Write("{0} ", employeeName);
}
// Reverse the array:
System.Array.Reverse(employeeNames);
// Print the array in reverse order:
System.Console.WriteLine("\n\nArray in Reverse Order:");
foreach(string employeeName in employeeNames)
{
System.Console.Write("{0} ", employeeName);
}
// Sort the array:
System.Array.Sort(employeeNames);
// Print the array in sorted order:
System.Console.WriteLine("\n\nArray in Sorted Order:");
foreach(string employeeName in employeeNames)
{
System.Console.Write("{0} ", employeeName);
}
}
}
Saída
Enter five employee names:
Luca
Angie
Brian
Kent
Beatriz
Array in Original Order:
Luca Angie Brian Kent Beatriz
Array in Reverse Order:
Beatriz Kent Brian Angie Luca
Array in Sorted Order:
Angie Beatriz Brian Kent Luca
Consulte também
Conceitos
Referência
Matrizes (Guia de programação do C#)
Outros recursos
Translation from VPE for Csharp linguagem de programação para desenvolvedores Java