Domanda

Che cosa è un matrice irregolare (in C #)? Eventuali esempi e quando uno dovrebbe usarlo ....

È stato utile?

Soluzione

Una matrice irregolare è un array di array.

string[][] arrays = new string[5][];

Questo è un insieme di cinque differenti matrici di stringhe, ciascuna potrebbe essere una lunghezza differente (potrebbero anche essere la stessa lunghezza, ma il punto è che non c'è garanzia che siano).

arrays[0] = new string[5];
arrays[1] = new string[100];
...

Questo è diverso da una matrice 2D in cui è rettangolare, cioè ogni riga ha lo stesso numero di colonne.

string[,] array = new string[3,5];

Altri suggerimenti

Un frastagliato matrice è la stessa in qualsiasi lingua, ma è dove si ha un 2+ array bidimensionale con diverse lunghezze di array nel secondo e al di là di array.

[0] - 0, 1, 2, 3, 4
[1] - 1, 2, 3
[2] - 5, 6, 7, 8, 9, 10
[3] - 1
[4] - 
[5] - 23, 4, 7, 8, 9, 12, 15, 14, 17, 18

Anche se la risposta migliore viene scelto dal proprietario domanda, ma ancora voglio presentare il seguente codice per rendere matrice irregolare più chiaro.

using System;

class Program
{
static void Main()
 {
 // Declare local jagged array with 3 rows.
 int[][] jagged = new int[3][];

 // Create a new array in the jagged array, and assign it.
 jagged[0] = new int[2];
 jagged[0][0] = 1;
 jagged[0][1] = 2;

 // Set second row, initialized to zero.
 jagged[1] = new int[1];

 // Set third row, using array initializer.
 jagged[2] = new int[3] { 3, 4, 5 };

 // Print out all elements in the jagged array.
 for (int i = 0; i < jagged.Length; i++)
  {
    int[] innerArray = jagged[i];
    for (int a = 0; a < innerArray.Length; a++)
    {
    Console.Write(innerArray[a] + " ");
    }
    Console.WriteLine();
  }
 }
}

L'output sarà

1 2

0

3 4 5

matrici dentellate vengono utilizzati per memorizzare i dati in file di varia lunghezza.

Per ulteriori informazioni consulta questo post a MSDN blog.

E 'possibile trovare maggiori informazioni qui: http://msdn.microsoft.com /en-us/library/2s05feca.aspx

Inoltre:

Una matrice irregolare è una matrice i cui elementi sono array. Gli elementi di una matrice irregolare possono essere di diverse dimensioni e formati. Una matrice irregolare è talvolta chiamato un "array di array". I seguenti esempi mostrano come dichiarare, inizializzare e l'accesso ronchioso array.

La seguente è una dichiarazione di una matrice monodimensionale che ha tre elementi, ciascuno dei quali è una matrice unidimensionale di interi:

jaggedArray[0] = new int[5];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[2];

o

jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };

Una matrice irregolare è quello in cui si dichiara il numero di righe durante dichiarazione ma si dichiara numero di colonne in fase di esecuzione o anche per scelta dall'utente, semplicemente la sua media quando si desidera diverso numero di colonne di ogni matrice irregolare è adatto a questo caso

int[][] a = new int[6][];//its mean num of row is 6
        int choice;//thats i left on user choice that how many number of column in each row he wanna to declare

        for (int row = 0; row < a.Length; row++)
        {
           Console.WriteLine("pls enter number of colo in row {0}", row);
           choice = int.Parse(Console.ReadLine());
            a[row] = new int[choice];
            for (int col = 0; col < a[row].Length; col++)
            {
                a[row][col] = int.Parse(Console.ReadLine());
            }
        }

matrice irregolare è un array con altri array contenuti all'interno.

Una matrice irregolare è una matrice in cui è fissato il numero di righe, ma il numero di colonna non è fisso.

Codice di matrice irregolare in C # per l'applicazione sotto forma finestra

int[][] a = new int[3][];

a[0]=new int[5];
a[1]=new int[3];
a[2]=new int[1];

int i;

for(i = 0; i < 5; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

for(i = 0; i < 3; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

for(i = 0; i < 1; i++)
{
    a[0][i] = i;
    ListBox1.Items.Add(a[0][i].ToString());
}

Come si può vedere nel programma non di righe di cui sopra è fissato a 3, ma il numero di colonne non è fisso. Così abbiamo preso tre valore diverso di colonne IE 5, 3 e 1. La parola chiave ListBox1 utilizzata in questo codice è per la casella di riepilogo che useremo in forma finestra per vedere il risultato per il clic del tasto che verrà utilizzato anche in la forma finestra. Tutta la programmazione fatta qui è sul pulsante.

matrice irregolare è array multidimensionale con diverso numero diverso di righe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top