Partilhar via


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

Guia de Programação C#

Referência

Matrizes (Guia de programação do C#)

Outros recursos

Translation from VPE for Csharp linguagem de programação para desenvolvedores Java