Cenni preliminari sulle matrici

Una matrice raggruppa più dati in una stessa variabile. Un singolo numero di indice fa riferimento ai dati contenuti in una matrice unidimensionale, più numeri di indice fanno riferimento ai dati contenuti in una matrice di matrici o in una matrice multidimensionale. È possibile fare riferimento a un singolo elemento di matrice mediante l'identificatore della matrice seguito dall'indice di matrice racchiuso tra parentesi quadre ([]). Per fare riferimento alla matrice nel suo complesso è sufficiente utilizzare l'identificatore di matrice. La raccolta di dati nelle matrici semplifica la gestione dei dati. Se viene impiegata una matrice, ad esempio, sarà possibile passare un elenco di nomi a una funzione mediante un metodo che utilizzi un solo parametro.

In JScript sono disponibili due tipi di matrici: le matrici JScript e le matrici tipizzate. I due tipi sono piuttosto simili e presentano differenze lievi. Le matrici JScript e le matrici tipizzate possono interagire. Pertanto, un oggetto Array di JScript può chiamare i metodi e le proprietà di qualsiasi matrice tipizzata e questa può chiamare molti dei metodi e delle proprietà di un oggetto Array. Inoltre, le funzioni che accettano matrici tipizzate accettano anche oggetti Array e viceversa. Per ulteriori informazioni, vedere Oggetto Array.

Matrici tipizzate

Le matrici tipizzate, definite anche matrici native, sono simili alle matrici utilizzate in linguaggi quali C e C++. Le matrici tipizzate garantiscono l'indipendenza dai tipi memorizzando solo i dati che corrispondono al tipo specificato nella dichiarazione del tipo di matrice.

Nota

Per memorizzare qualsiasi tipo di dati in una matrice tipizzata, definirla come di tipo Object.

Quando una matrice tipizzata viene creata o inizializzata dallo script, ne viene impostato il numero degli elementi. Il solo modo per modificare il numero di elementi consiste nel ricreare la matrice. Una matrice tipizzata creata con n elementi è costituita da elementi numerati da 0 a n-1. Se si tenta di accedere a elementi esterni a tale intervallo verrà generato un errore. Inoltre, le matrici tipizzate sono dense, ossia ogni indice compreso nell'intervallo consentito si riferisce a un elemento.

Mediante uno script è possibile assegnare una matrice tipizzata dichiarata a una variabile o una costante, oppure passarla a una funzione, a un operatore o a un'istruzione. Se la si assegna a una variabile o a una costante, assicurarsi che il tipo di variabile corrisponda al tipo di matrice e che vi sia corrispondenza anche tra le dimensionalità della matrice.

Una matrice tipizzata è un'istanza dell'oggetto System.Array di .NET Framework. Per accedere ai membri statici dell'oggetto System.Array, oppure per creare in modo esplicito un oggetto System.Array, è necessario specificare il nome completo System.Array. L'utilizzo di questa sintassi consente di distinguere tale oggetto dall'oggetto Array intrinseco di JScript.

Matrici JScript

L'utilizzo di un oggetto Array di JScript, più flessibile di una matrice tipizzata, è conveniente quando si desidera ottenere uno stack generico o un elenco di elementi e le prestazioni non rappresentano una priorità assoluta. Tuttavia, alle matrici JScript gli sviluppatori preferiscono generalmente le matrici tipizzate, il cui utilizzo garantisce l'indipendenza dai tipi, prestazioni migliori e più efficiente interazione con gli altri linguaggi.

Poiché, invece, in una matrice JScript è possibile memorizzare qualsiasi tipo di dati, il suo impiego facilita e velocizza la scrittura di script che utilizzano matrici senza tenere conto dei conflitti tra tipi. Dal momento che questa funzionalità ignora il rigido controllo dei tipi supportato in JScript, dovrà essere utilizzata con cautela.

Mediante l'impiego di script è possibile aggiungere o rimuovere in modo dinamico elementi di una matrice JScript. Per aggiungere un elemento a una matrice, assegnare a esso un valore. Per eliminare elementi di matrice è possibile utilizzare l'operatore delete.

Una matrice JScript è sparsa. Vale a dire che, se una matrice contiene tre elementi numerati 0, 1 e 2, potrà contenere anche un elemento 50, senza che sia necessaria la presenza degli elementi compresi tra 3 e 49. Ciascuna matrice JScript ha una proprietà length che viene automaticamente aggiornata quando si aggiunge un elemento. Nell'esempio precedente, se si aggiunge l'elemento 50, il valore della variabile length verrà modificato in 51 invece che in 4.

Un oggetto Array di JScript e un oggetto Object JScript sono quasi identici. Le due principali differenze consistono nel fatto che, per impostazione predefinita, un oggetto Object non dispone di una proprietà length automatica e che, in particolare, un oggetto Object JScript non dispone delle proprietà e dei metodi di un oggetto Array. Per ulteriori informazioni, vedere Oggetto Array di JScript.

Vedere anche

Riferimenti

Oggetto Array

Concetti

Dati Array

Oggetto Array di JScript

Altre risorse

Matrici JScript