Vollständige Version anzeigen : [.NET] [C#] Arrays (Datenfelder)


juppwatis
21.08.2007, 15:49

hallo,

ich habe mir heute wiedermal durchgerungen und was von mir erlerntes wieder niedergeschrieben, sodass auch alle anderen c# interessierten hier in diesem forum daran teilhaben können. Ich habe heute ein Arrays - Tut geschrieben: Was sind Arrays, wie benutzt man sie und wie werden sie deklariert und initialisiert. Das Tut beinhaltet auch die mehrdimensonalen Arrays. Also habt Spaß damit und lernt was davon..;ich will das ja nicht umsonst machen (ok ist es auch so nicht, weil ich damit mein Wissen erweitere und festige) :)

Download:
Download: http:xupraidrushwsdownloadphpvalid1id8f5de31f9812350a51564a63aa446;doc | xup~in (;xup~in/dl,19443205/http:xupraidrushwsdownloadphpvalid1id8f5de31f9812350a51564a63aa446;doc/)


Arrays

Heute beschäftigen Sie sich mit den Arrays. Arrays werden manchmal auch Datenfelder genannt. Mit ihnen kann man fast unendlich viele Variablen gleichen Namens und gleichen Datentyps deklarieren. Ein Array wird immer wie folgt deklariert:
Datentyp[] Bezeichner;

Auf den ersten Blick könnte man meine es ist eine ganz normale Variable. Ist fast auch so. Der einzige Unterschied sind die zwei eckigen Klammern ([ ]). Diese sind die Kennzeichen eines Arrays. Will man einen Array deklarieren, muss man die eckigen Klammer hinter den Datentyp schreiben, gefolgt von dem Bezeichner. Nun ist zwar ein Array deklariert, jedoch noch nicht initalisiert! Da Arrays von der ~NET – Laufzeit als Objekt angesehen werden, unterscheidet sich die Initialisierung des Arrays von der einer herkömmlichen Variablen:
Bezeichner = new Datentyp[x];

Nun haben wir auch den Array initialisiert. Das Schlüsselwort new steht für die Erzeugnung eines neuen Objekts. Dahinter wird wieder der Datentyp genannt und in den eckigen Klammern steht die Größenangabe des Arrays, d;h. man müsste in meiner allgemeinen Initalisierung eines Arrays das x durch die gewünschte Zahl ersetzen.
Wie bei einer Variablen auch, kann man einen Arrays gleichzeitig deklarieren und initalisieren:
Datentyp[] Bezeichner = new Datentyp[x];

Weiß man bereits am Anfang wieviel und was für Werte man dem Array zuweisen will, kann man die so genannte literale Initalisierung anwenden:
Datentyp[] Bezeichner = new Datentyp[x]{ };


//Namespace Deklaration
using System;

//Startklasse des Programms
class arrays
{
static void Main()
{
//Deklaration und Initialisierung eines Int-Arrays
int[] myInt = new int[2];
//Deklaration und Initialisierung eines String-Arrays
string[] myString = new string[2];

//Wertezuweisung
myInt[0] = 47;
myInt[1] = 11;

myString[0] = "Dies ist ein ";
myString[1] = "C# - String - Array!";

//literale Initalisierung eines Int-Arrays
int[] myInt2 = new int[4] { 4, 7, 1, 1 };

//Ausgabe in die Konsole
Console;WriteLine("myInt[0] = {0}", myInt[0]);
Console;WriteLine("myInt[1] = {0}", myInt[1]);
Console;Write(myString[0]);
Console;WriteLine(myString[1]);
Console;WriteLine("myInt2 = {0}{1}{2}{3}", myInt2[0], myInt2[1], myInt2[2], myInt2[3]);
Console;ReadLine();
}
}


Wie man an diesem Programm schön sieht haben wir zwei Arrays erstellt. Einen Int – Arrays und einen String – Arrays. Die Werte, die wir darin gespeichert haben geben wir einfach auf der Konsole aus. Ich denke dieses Programm dürfte jedem klar sein. Bei der Ausgabe auf die Konsole habe ich einmal Console;Write(); benutzt. Dies führt dazu, dass nicht in die nächste Zeile der Konsole gesprungen wird, wie es bei Console;WriteLine(); üblich ist.

Mehrdimensionale Arrays

Bei den oben gebrauchten Arrays handelt es sich lediglich um eindimensionale Arrays. Jedoch werden in der Praxis oft mehrdimensionale Arrays gebraucht. Als Beispiel wäre das das Schachbrett zu nennen. Will man ein Schachspiel programmieren, so benötigt man auch mehrdimensionale Arrays. Sie werden wie folgt deklariert:
Datentyp[,] Bezeichner;

Wird der mehrdimensionale Arrays dann noch initialisiert, so werden dort die Grenzen festgelegt:
Datentyp[,] Bezeichner = new Datentyp[ ];


stellen hierbei die Grenzen des Arrays dar.
Will man nun auch noch mehrdimensionale Arrays literal initialisieren, so wird es recht kompliziert. Deshalb würde ich einen mehrdimensionalen Arrays niemals literal initialisieren, sondern normal initialisieren und danach dann jedem Element den Wert zuweisen.
Als Beispiel machen wir mal eine kleine Tabelle:

//Namespace Deklaration
using System;

//Startklasse des Programms
class arraytabelle
{
static void Main()
{
//Deklaration und Initialisierung des mehrdim. Arrays
string[,] tabelle = new string[2, 3];
tabelle[0, 0] = "Zelle [0,0]";
tabelle[1, 0] = "Zelle [1,0]";
tabelle[0, 1] = "Zelle [0,1]";
tabelle[0, 2] = "Zelle [0,2]";
tabelle[1, 1] = "Zelle [1,1]";
tabelle[1, 2] = "Zelle [1,2]";


//"Tabelle" in der Konsole ausgeben
Console;Write("{0} \t", tabelle[0, 0]);
Console;Write("{0} \t", tabelle[0, 1]);
Console;WriteLine(tabelle[0, 2]);
Console;Write("{0} \t", tabelle[1, 0]);
Console;Write("{0} \t", tabelle[1, 1]);
Console;Write(tabelle[1, 2]);
Console;ReadLine();
}
}


Wenn man dieses Programm dann compiliert erhält man eine schöne kleine Tabelle. Nun können Sie also kleine Tabelle mithilfe mehrdimensionaler Arrays machen lassen.
Man kann das ganze natürlich noch erweitern und anstatt der 2 und der 3 auch höhere Zahlen bei der Initialisierung verwenden und man kann auch einen dreidimensionalen Array deklarieren. Dazu muss man einfach anstatt einem , zwei Kommata (,,) bei der Deklaration verwenden und das nachfolgende anpassen;

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [.NET] [C#] Arrays (Datenfelder)
  • [C#] und 2 dimensionale arrays
    hi ihr alle sitz gerade mal wieder an c# und versuch mich mit 2 dimensionalen arrays bin der totale noob ^^ was c# anbelangt lern gerade erst so langsam^^ also ich würd gern ein 2 dimensionales array ausgeben das es nacher so aussieht 1111111111 1111111111 1111111111 1111111111 1111111111 1111 [...]

  • random mit arrays
    Nur mal so als kleine Randbemerkung: Wenn mich nicht alles täuscht, dann erzeugt die Random Funktion in Delphi auch die Zahlen 0..;n-1 oder? Was bedeuten würde, dass du Random(90)+10 nehmen müsstest, damit die 99 auch erzeugt werden kann. [...]

  • [PHP] Arrays...
    Hi! Hab folgendes: $erledigt = nein; $art = $_REQUEST["ware"]; $anz = $_REQUEST["anzahl"]; $user_id = $_SESSION["user_id"]; $preis = $_REQUEST["preis"] * $anz; $alte = $_REQUEST["alte"]; $gewicht = $_REQUEST["gewicht"]; $artikel[1]['artnummer'] = $art; $artikel[1]['anz'] = $anz; $artikel[1]['pr [...]

  • [C/C++] Arrays
    Hallo, Ich bin zurzeteit bei den Arrays. Funktionen schleifen kann ich schon. Bei Arrays bin ich aber ein wenieg stecken geblieben weil ich den sinn dahinter nicht verstehe das [] bei zb: char Spieler [50]; was gibt das [50]; ich weiß bzw denke ich das das die bits oder byts sind die [...]



raid-rush.ws | Imprint & Contact pr