C # - Matrici

Un array memorizza una raccolta sequenziale di dimensioni fisse di elementi dello stesso tipo. Un array viene utilizzato per memorizzare una raccolta di dati, ma spesso è più utile pensare a un array come una raccolta di variabili dello stesso tipo archiviate in posizioni di memoria contigue.

Invece di dichiarare variabili individuali, come numero0, numero1, ... e numero99, dichiari una variabile di matrice come numeri e utilizzi numeri [0], numeri [1] e ..., numeri [99] per rappresentare variabili individuali. Un elemento specifico in un array è accessibile da un indice.

Tutti gli array sono costituiti da posizioni di memoria contigue. L'indirizzo più basso corrisponde al primo elemento e l'indirizzo più alto all'ultimo elemento.

Dichiarazione di array

Per dichiarare un array in C #, puoi usare la seguente sintassi:

datatype[] arrayName;

dove,

  • datatype viene utilizzato per specificare il tipo di elementi nell'array.

  • [] specifica il rango dell'array. Il rango specifica la dimensione dell'array.

  • arrayName specifica il nome dell'array.

Per esempio,

double[] balance;

Inizializzazione di un array

La dichiarazione di un array non inizializza l'array nella memoria. Quando la variabile array viene inizializzata, è possibile assegnare valori all'array.

Array è un tipo di riferimento, quindi è necessario utilizzare l'estensione newparola chiave per creare un'istanza dell'array. Per esempio,

double[] balance = new double[10];

Assegnazione di valori a un array

È possibile assegnare valori a singoli elementi dell'array, utilizzando il numero di indice, come -

double[] balance = new double[10];
balance[0] = 4500.0;

È possibile assegnare valori all'array al momento della dichiarazione, come mostrato -

double[] balance = { 2340.0, 4523.69, 3421.0};

Puoi anche creare e inizializzare un array, come mostrato -

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

Puoi anche omettere la dimensione dell'array, come mostrato -

int [] marks = new int[]  { 99,  98, 92, 97, 95};

È possibile copiare una variabile di matrice in un'altra variabile di matrice di destinazione. In tal caso, sia la destinazione che la sorgente puntano alla stessa posizione di memoria -

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

Quando si crea una matrice, il compilatore C # inizializza in modo implicito ogni elemento della matrice su un valore predefinito a seconda del tipo di matrice. Ad esempio, per un array int tutti gli elementi vengono inizializzati su 0.

Accesso agli elementi dell'array

Si accede a un elemento indicizzando il nome dell'array. Questo viene fatto inserendo l'indice dell'elemento tra parentesi quadre dopo il nome dell'array. Per esempio,

double salary = balance[9];

Il seguente esempio, dimostra i concetti sopra menzionati dichiarazione, assegnazione e accesso agli array -

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         int i,j;

         /* initialize elements of array n */
         for ( i = 0; i < 10; i++ ) {
            n[ i ] = i + 100;
         }
         
         /* output each array element's value */
         for (j = 0; j < 10; j++ ) {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Utilizzando il ciclo foreach

Nell'esempio precedente, abbiamo utilizzato un ciclo for per accedere a ciascun elemento dell'array. Puoi anche usare un fileforeach istruzione per iterare attraverso un array.

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         
         /* initialize elements of array n */
         for ( int i = 0; i < 10; i++ ) {
            n[i] = i + 100;
         }
         
         /* output each array element's value */
         foreach (int j in n ) {
            int i = j-100;
            Console.WriteLine("Element[{0}] = {1}", i, j);
         }
         Console.ReadKey();
      }
   }
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Matrici C #

Sono presenti alcuni importanti concetti relativi all'array che dovrebbero essere chiari a un programmatore C #:

Sr.No. Concetto e descrizione
1 Array multidimensionali

C # supporta array multidimensionali. La forma più semplice dell'array multidimensionale è l'array bidimensionale.

2 Array frastagliati

C # supporta matrici multidimensionali, che sono matrici di matrici.

3 Passaggio di array a funzioni

È possibile passare alla funzione un puntatore a un array specificando il nome dell'array senza un indice.

4 Matrici di parametri

Viene utilizzato per passare un numero sconosciuto di parametri a una funzione.

5 La classe Array

Definita nello spazio dei nomi di sistema, è la classe base per tutti gli array e fornisce varie proprietà e metodi per lavorare con gli array.