Mehrdimensionale C#-Arrays

WBOY
Freigeben: 2024-09-03 15:12:21
Original
712 Leute haben es durchsucht

In C# beziehen sich die rechteckigen Arrays oder mehrdimensionalen Arrays auf die Organisation der Elemente in einem Matrixformat. Ein mehrdimensionales Array kann nur zwei- oder dreidimensional sein. Dimensionen eines Arrays beziehen sich auf das Organisationsformat der Daten in der Variablen. Somit können wir ein mehrdimensionales Array als eine Organisation von Elementen in Reihe oder Reihenfolge als Zeilen oder Spalten definieren.

Syntax:

Unten finden Sie die Syntax von  Mehrdimensionalen Arrays:

Deklaration des 2D-Arrays.

int[,] x=new int[1,2];
Nach dem Login kopieren

Deklaration des 3D-Arrays.

int[,,] x=new int[1,2,3];
Nach dem Login kopieren

Die obige Syntax gibt das Format zum Deklarieren zweidimensionaler und dreidimensionaler Arrays (x) an. Das erste Array enthält zwei Elemente, 1 und 2, während das dreidimensionale Array das Element 1,2,3 enthält.

Initialisierung der mehrdimensionalen Arrays

Ein mehrdimensionales Array kann auf drei verschiedene Arten initialisiert werden

1. Vollständige Erklärung

int[,] x = new int[6,6];
Nach dem Login kopieren

Die obige Spezifikation initialisiert ein zweidimensionales Array vollständig, einschließlich der Verwendung von Array-Typ, Array-Größe und dem neuen Operator.

2. Initialisierung ohne Verwendung des neuen Operators

int[,] x = { { 3,2,1 }, { 6,5,4 }, { 9,8,7 } };
Nach dem Login kopieren

3. Initialisieren des Arrays ohne Angabe der Größe

int[,] x = new int[,]{ { 3,2,1 }, { 6,5,4 }, { 9,8,7 } };
Nach dem Login kopieren

Beispiele für mehrdimensionale C#-Arrays

Unten finden Sie Beispiele für mehrdimensionale Arrays in C#:

Beispiel #1

Programm zur Veranschaulichung der Deklaration und Initialisierung eines mehrdimensionalen Arrays. Das folgende Beispiel veranschaulicht die Erstellung eines mehrdimensionalen Arrays in C#.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static void Main(string[] args)
{
int[,] x = { { 3, 2, 1 }, { 6, 5, 4 }, { 9, 8, 7 } };
for (int a = 0; a < 3; a++)
{
for (int b = 0; b < 3; b++)
{
Console.Write(x[a, b] + " ");
}
Console.WriteLine();
}
}
}
}
Nach dem Login kopieren

Ausgabe:

Mehrdimensionale C#-Arrays

Beispiel #2

Programm zur Veranschaulichung der Initialisierung, Deklaration eines zweidimensionalen Arrays und Zugriff auf die Elemente.

Code: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/* declaring and initialising a two dimensional array*/
int[,] b = new int[6, 2] { { 1, 2 }, { 4, 3 }, { 5, 6 }, { 8,7 }, { 9 , 10 }, { 2, 3 } };
int i, j;
/* accessing each of the elements value for the array */
for (i = 0; i < 6; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0},{1}] = {2}", i, j, b[i, j]);
}
}
Console.ReadKey();
}
}
}
Nach dem Login kopieren

Ausgabe:

Mehrdimensionale C#-Arrays

Das obige Programm demonstriert die Verwendung von Indizes als Positionsmarkierung für den Zugriff auf die Elemente des Arrays in einem mehrdimensionalen Array.

Beispiel #3

Programm zur Addition zweier mehrdimensionaler Arrays.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static void Main()
{
int[,] array1 = new int[3, 3];
int[,] array2 = new int[3, 3];
int[,] resultArray = new int[3, 3];
int i, j;
Console.WriteLine("specify the members of the first array: ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
array1[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.WriteLine("elements of the array1: ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
Console.Write("{0} ", array1[i, j]);
}
Console.Write("\n");
}
Console.WriteLine("specify the members of the array2: ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
array2[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.WriteLine("elements of the array2: ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
Console.Write("{0} ", array2[i, j]);
}
Console.Write("\n");
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
resultArray[i, j] = array1[i, j] + array2[i, j];
}
}
Console.WriteLine("resultArray of the array1 and array2 looks as below : ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
Console.Write("{0} ", resultArray[i, j]);
}
Console.Write("\n");
}
}
}
}
Nach dem Login kopieren

Ausgabe:

Mehrdimensionale C#-Arrays

Mit dem obigen Programm haben wir die Additionsoperation für das Array abgeschlossen, wobei jedes Element im ersten Array zum Zählerelement des zweiten Arrays hinzugefügt wurde. Beispielsweise ist das erste Element in Array1 1; Ebenso ist das erste Element in Array2 9. Das Ergebnis der Addition sollte ein Array mit dem ersten Element als 10 enthalten.

Vorteile und Nachteile

Im Folgenden sind die Vor- und Nachteile mehrdimensionaler Arrays aufgeführt:

Vorteile

  • Mehrdimensionale Arrays können verwendet werden, um Untergruppen von Daten innerhalb eines Arrays zu organisieren; Mehrdimensionale Arrays können auch zum Speichern von Datenspeicheradressen in einem Zeiger-Array verwendet werden.
  • Im Programm haben mehrdimensionale Arrays am Anfang eine statische Größe und Initialisierung. Für jede Größenerweiterung muss die entsprechende Größe bei der Initialisierung angegeben werden.
  • Mehrdimensionale Arrays ermöglichen die Durchführung von Matrixoperationen und die Verwaltung großer Datenwerte unter derselben Variablenzuordnung.
  • Mehrdimensionale Arrays werden verwendet, um Stapel, Heaps und Warteschlangen sowie Hash-Tabellen zu implementieren.

Nachteile

  • Die Elemente befinden sich an zusammenhängenden Speicherorten für ein Array; Daher muss jedes Einfügen und Löschen eines Elements komplexer sein als ähnliche Vorgänge an einzelnen Elementen.
  • Außerdem können die Elemente nicht in die Mitte eines Arrays eingefügt werden.
  • Statische Zuweisung kann zu Verschwendung führen und dazu führen, dass ungenutzter Speicher nicht freigegeben wird, wenn mehr Speicher als nötig zugewiesen wird. Dies kann negative Auswirkungen haben.
  • Mehrdimensionale Arrays können im Vergleich zu ihren eindimensionalen Array-Gegenstücken langsamer sein, was einen großen Nachteil darstellt. Um dies zu überwinden, können wir gezackte Arrays durch mehrdimensionale Arrays ersetzen.

Das obige ist der detaillierte Inhalt vonMehrdimensionale C#-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage