Datenspeicherung.Nehmen wir an, dass Sie ein Computerspiel namens Vulnerable User entwickelt haben, in dem Spieler mit dem Design und der nicht-Freund-Computer-Schnittstelle konkurrieren. Jetzt müssen Sie ein Programm schreiben, das die monatlichen Verkäufe dieses Spiels über einen Zeitraum von fünf Jahren verfolgt. Oder, sagen wir einfach, Sie müssen einen Blick auf die Handelskarten der Helden nehmen. Sehr bald werden Sie feststellen, dass Sie mehr als einfache grundlegende Datentypen benötigen, um Informationen zu erstellen und zu verarbeiten.Massive. Einführung. Um mit einer Vielzahl von Daten bequem zu sein, hat eine Gruppe von Zellen einen gemeinsamen Namen. Diese Gruppe von Zellen wird als Masse bezeichnet.♪Massiv - Es ist eine Gruppe von Speicherzellen gleichen Typs, in der Nähe und mit einem gemeinsamen Namen. Jede Zelle in der Gruppe hat eine einzigartige Zahl. Im Umgang mit den Massen müssen drei Aufgaben erlernt werden: • Speichern der unter der Masse erforderlichen Größe; • Aufzeichnen der Daten in die richtige Zelle; • Lesen Sie die Daten aus der Zelle.Eine Masse erschaffen. Wenn die Masse erzeugt wird, wird ein Ort (eine bestimmte Anzahl von Zellen) im Speicher angegeben.(1) Massive können durch eine einfache Liste von Elementen erstellt werden:
int [] nums = new int [] { 1, 2, 3, 5 };
int Bestimmt, dass alle Objekte in der Masse insgesamt sind. Hier. int kann jede andere Art von Daten sein. Zum Beispiel
string[] names = ["Вася", "Петя", "Федя"];
2) Sie können nicht auf das Gewicht der Masse auf einmal, sondern nur die Reichweite erstellen, die wir brauchen.
int [] nums = new int [4]; (3) Massiv kennt seine Größe immer. Massenvolumen eine Es kann festgestellt werden, dass
a.Length; Häufig wird die Masse in einer separaten Größe gespeichert, so dass das Programm mit einer anderen Größe leicht verändert werden kann. Beispiel:int N = 10; // в переменной N храним размер массива
int[] nums = new int[4]; // создаем массив размера N
Console.Write(nums.Length); // выводим размер массива
Die Größe des Körpers kann von der Tastatur aufgebracht werden.
|
Ansprechen des Elements der Masse.Der größte Wert der Massen wird dadurch bestimmt, dass ihre Elemente einzeln behandelt werden können. Die Möglichkeit dazu besteht darin, einen Index zur Messung der Elemente zu verwenden.Index ist ein Wert, der auf das spezifische Element der Masse weist. Denk dran.: Die Größe der C#-Sets beginnt bei Null.
Beispiele für die Handhabung der Masse A:int x = (A[3] + 5) * A[1] // прочитать значения A[3] и A[1]
A[0] = x + 6 // записать новое значение в A[0] Wir werden ein Arbeitsprogramm mit den Clusterelementen herausfinden.int i = 1;
int[] A = new int[5]; //создаем массив из 5 элементов
A[0] = 23; // в каждый из 5 элементов массива (индексы от 0 до 4)
A[1] = 12; // записываем определенное значение
A[2] = 7;
A[3] = 43;
A[4] = 51;
A[2] = A[i] + 2*A[i-1] + A[2*i]; // изменим значение элемента с индексом 2, на результат выражения
// т.к i=1, то подставляя значение переменной i в выражение получим
// следующее выражение A[2] = A[1] + 2*A[0] + A[2];
Console.Write((A[2] + A[4]));
Durch dieses Programm wird der Wert der Masse mit Index 2 und Index 4 auf dem Bildschirm angezeigt. 116. Wie aus dem Beispiel ersichtlich, können wir jedes Element der Masse ansprechen. Berechnen Sie auch die erforderliche Anzahl des Elements durch verschiedene Formeln (z.B. wie im Programm) A[i-1] oder A[2*i] in diesen Fällen werden die Elementindizes berechnet und je nach Wert I)
Wir finden ein Programmbeispiel.int N = 5;
int[] A = new int[N];
int x = 1;
A[x + 4] = A[x] + A[2 * (x + 1)]; // после подстановки х в выражения и вычислений
// получаем следующую строку A[5] = A[1] + A[4]
// A[5] такого элемента не существует
// ошибка - выход за границы массива
Der Massive wird als 5 angegeben, so dass die Elemente von 0 bis 4 nummeriert werden. Wir sehen, dass das Programm in Zeile 6 auf ein nicht vorhandenes Element verweist: A[5] ♪ Es stellt sich heraus, dass das Programm über den Bereich hinaus ging. Außerhalb des Bereichs ist eine Anwendung auf ein Indexelement, das in der Masse nicht existiert. In diesen Fällen endet das Programm in der Regel mit einem versehentlichen Fehler. Laufzeitfehler♪
|
Beim Umgang mit den Massen ist es in der Regel notwendig, direkt mit allen Elementen des Körpers zu arbeiten. Zurücksetzen von Elementen: wir betrachten alle Elemente des Körpers und, falls erforderlich, tun wir eine Operation mit jedem von ihnen. Dies ist der am häufigsten verwendete Zyklus mit Variablen, die sich von 0) vor N-1wenn N- Anzahl der Elemente der Masse. Unter N Wir werden die aktuelle Größe der Masse betrachten, das heißt, N = A.Length;#
for (int i = 0; i < N; i++)
{
// здесь работаем с A[i]
} In diesem Zyklus die Variable I Es wird die Gewichte nehmen. 0, 1, 2, ..., N-1♪ In jedem Schritt des Zyklus wenden wir uns also an das spezifische Element der Masse mit der Zahl. I♪ So reicht es, um zu beschreiben, was mit einem Stück des Körpers getan werden muss. A[i] und diese Aktionen in den Zyklus gesetzt.
Wir schreiben ein Programm, das den Bereich zuerst ausfüllt. NNatürliche Zahlen, d.h. am Ende des Programms, sollten die Massenelemente gleich sein.A[0] = 1
A[1] = 2
A[2] = 3
...
A[N - 1] = N Es ist nicht möglich, das Muster anzugeben: der Wert des Masseelements sollte um 1 größer sein als der Elementindex. Das Angebot wird wie folgt aussehen.for (int i = 0; i < N; i++) { A[i] = i + 1; }
|
Zusätzliche Möglichkeiten der Zusammenarbeit mit ClusterelementenAußer Zyklus for Du kannst es benutzen. foreach - es bewegt alle Elemente der Masse ohne Indexe. Manchmal kann es zum Beispiel bequem sein, die Masse auf dem Bildschirm zu bekommen. Foreach (int i in A)
{~}
Console.Writ(i + ");
♪ Und so ist es möglich, eine Masse zu betrachten, deren Elemente in einer Zeile aufgezeichnet und durch eine Lücke von der Tastatur geteilt werden.
mit System. Linq; / muss diese Richtlinie schreiben, um die mit den Massen verbundenen Funktionen zu nutzen
#
string text = Konsole.ReadLine();
int[] array = text.Split('). Wählen Sie (int.Parse). ToArray();
/ Split() teilt die Linie auf einzelne Objekte (in diesem Fall Lückenfreigabe)
/ Select(int.Parse) konvertiert jedes Objekt(e) in int
/ ToArray() registriert alle Objekte, die im Array empfangen wurden
|