Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Visual C# 2011 Grundkurs

Die Klasse "String"

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In fast jeder Anwendung werden Daten des String-Typs verwaltet. Manchmal muss man diese Strings auch manipulieren: Werfen Sie einen Blick auf die Klasse String!
09:47

Transkript

Wir schauen uns jetzt einmal an, was man machen muss, wenn man innerhalb von seinem Programm bestehende Strings verändern, also manipulieren möchte. Dazu legen wir uns am Anfang mal einen String an. Dieser String heißt "Name", nehmen wir einfach mal meinen Namen. Wenn ich jetzt diesen String manipulieren möchte, sind natürlich in der Klasse "String" bereits schon einige Methoden definiert, mit denen ich das machen kann. Wir rufen diese Methoden mal auf, also "Objekt", "Name", "Punkt", und dann sehen wir schon, dass da eine ganz, ganz lange Liste von Methoden ist, mit denen ich diesen String verändern kann. Ein paar wichtige von diesen Methoden schauen wir uns jetzt an. Als erstes schauen wir uns die Methode "Insert" an. Wie der Name "Insert" schon sagt, kann man mit "Insert" in einen bestehenden String einen neuen String einfügen. Dazu schauen wir uns die Methode einmal genauer an. Man sieht hier schon, IntelliSense zeigt es an, es erwartet zunächst einen Startindex, also ab welchem Index der neue String in den bestehenden String eingefügt werden soll, und dann den eigentlichen String, der dort eingefügt werden soll. Gezählt wird immer von vorne, es wird bei null begonnen. Das heißt dann der 0. Index, hier der 1., der 2., der 3., der 4., der 5., hier wäre der 6.. In diesen Namen oben fügen wir jetzt meinen zweiten Namen ein, und der ist Philipp. Wenn man hier vorne auf die Methode "Insert" geht, sieht man schon in IntelliSense, dass diese Insert-Methode keinen bestehenden String verändert, sondern einen neuen String zurückliefert. Ein String ist innerhalb von .NET ein sogenannter immutable type. D.h., nachdem das Objekt einmal erstellt wurde von diesem Typ, darf dieser Typ nicht mehr geändert werden. D.h., jedes Mal, wenn wir den String manipulieren, wird nicht irgendwas am bestehenden String geändert, sondern es wird ein neuer erstellt. Dessen muss man sich immer bewusst sein. Wir nennen das Ganze mal "Inserted". Dann geben wir das Ganze aus. Auch hier wieder ein nützliches Studio-Feature: Wenn ich "Console.WriteLine" schreiben möchte, gibt es sogenannte Code Snippets, die vordefiniert sind. Für "Console.WriteLine" kann ich auch "cw" schreiben, zwei Mal Tab drücken und dann habe ich das "Console.WriteLine" da stehen. So, wir schauen uns "Inserted an" und dann eben den Wert davon. Wir schauen uns das Ergebnis einmal an: Man sieht hier an dieser Stelle, Philipp wurde eingefügt. Am Ende hier ist jetzt kein Leerzeichen mehr vorhanden, weil wir dieses Leerzeichen vorne ja schon genutzt haben, um David von Philipp zu trennen. Also gehen wir noch einmal zurück in unser Programm, fügen hinten ein Leerzeichen hinzu, weil wir ja jetzt zwei Leerzeichen benötigen. Wir führen es nochmal aus und dann sieht man, dass der String richtig eingefügt wurde. Als zweites schauen wir uns eine Eigenschaft an und zwar ist das die Eigenschaft "Length". Man kommt oft in die Situation, dass man von einem String, den man bearbeitet, die Länge kennen muss. Diese Länge ist relativ einfach zu bestimmen und zwar ist das einfach nur eine Eigenschaft: "Length", die liefert mir ein "Int" zurück, und damit habe ich die Länge quasi bestimmt. Lassen wir uns anzeigen und schauen uns das Ganze mal an: Mein Name, David Tielke würde jetzt, inklusive dem Leerzeichen, aus 12 Zeichen bestehen. Jetzt schauen wir uns an, was man machen muss, wenn man in einem bestehenden String bestimmte Elemente durch ein anderes Element ersetzen möchte. Das machen wir mit der Methode "Replace". Bei "Replace" nehme ich einfach meinen Namen. Hier schauen wir uns also wieder die Methode an. Im IntelliSense zeigen wir uns die zweite Überladung an, und man sieht, ich muss zunächst einen Wert angeben, der gesucht werden soll und danach den Wert, durch den ersetzt werden soll. Wir sagen jetzt an der Stelle einfach, ich möchte die Leerzeichen in meinem Namen durch einen Bindestrich ersetzen. Auch hier vorne wieder: immutable type, es liefert mir einen neuen String zurück, also speichern wir den mal. Danach geben wir das Ganze wieder aus, unseren veränderten String, und schauen uns das Ganze mal an. Und man sieht, in der Mitte das Leerzeichen in meinem String wurde durch den Bindestrich ersetzt. Oft ist es so, dass man Daten, die man verarbeiten muss, in einem einzigen String bekommt. Und diese sind meistens, also die einzelnen Datenbereiche, sind durch bestimmte Zeichen getrennt. Um das dann wieder auseinander zu bekommen, kann man die Methode Split benutzen. Die Methode Split kann man auf einen String aufrufen, wenn man sich die Überladung mal anschaut, sieht man hier oben - wenigstens an der zweiten Überladung sieht man das - dass man ein Array übergeben muss. Dieses Array muss Zeichen enthalten und das sind eben genau die Zeichen, in denen im String gesucht wird und nach denen dieser String aufgesplittet wird. Also legen wir uns zunächst mal so ein Array an. Dort nutzen wir den Datentyp Char, also nur einen einzigen Buchstaben. Wir nennen das mal Separators. Und in diesen Separators definieren wir mal das Leerzeichen als eben genau der Buchstabe, nach dem wir diesen String splitten möchten. Und jetzt nehmen wir hier einfach die Separators und übergeben das der Methode Split. Und damit sind wir an der Stelle schon fertig. Split übergibt natürlich jetzt mehrere Teile von diesem String - das ist selbstverständlich ein String Array. Wir nennen das jetzt mal parts = name.split('Separators'), klar. Dann gehen wir hier an dieser Stelle mal hin und geben das Ganze mit einer Vorschleife aus. Und die Vorschleife soll so lange gehen wie die Lauf-Variable. Klar, da ist jetzt parts.length, also die Länge des Arrays. Den Durchlauf erhöhen wir hier um eins. Und dann geben wir einfach mal Parts aus. Wir sagen part i = und dann eben das Parts-Element. Wir führen das Ganze dann einmal wieder aus. Und dann sieht man, dass eben der String David Tielke aufgeteilt wurde nach dem Leerzeichen in zwei Parts: einmal in den Part David und den Part Tielke. Manchmal hat man auch die Aufgabe, in einem String einen bestimmten Teil-String zu extrahieren. Deswegen gibt es die Methode Substring, mit der ich so etwas machen kann. Ich rufe mal auf meinem Namensobjekt diese Methode auf, wir schauen uns die Überladung an. Zunächst erwartet Sie in einer Überladung der Startindex, d.h., ich gebe meinen Startindex an und nach diesem Startindex wird mir der komplette String zurückgeliefert. Für uns hier mal interessant ist Startindex und Length. Also ich gebe Startindex an und wie lange dieser String an dieser Stelle sein soll, den er mir zurückliefert. Wir versuchen jetzt mal - an dieser Stelle nehmen wir mal oben das Inserted, also da, wo ich eben mal meinen zweiten Namen eingefügt habe - und dort ermitteln wir mal mit Substring quasi wie meine zwei Namen in Var. Dazu muss ich natürlich zunächst den Index angeben. Das hatten wir eben schon gesehen, als wir es eingefügt haben und es war sechs. Und die Länge von Philipp ist dann eben sieben. So, auch hier wieder wird das Ganze als neuer String zurückgeliefert. Wir schauen uns das an und danach geben wir den aus. Wir schauen uns das Ganze hier oben einmal an und dann sehen wir, dass eben aus diesem String mit meinem zweiten Namen der zweite Name erfolgreich extrahiert wurde. Als nächstes schauen wir uns an, was wir machen müssen, wenn wir innerhalb von unserem Programm Zeichenketten haben und diese Zeichenketten so umändern wollen, dass wir dort nur Kleinbuchstaben drin haben oder eben nur Großbuchstaben. Sowas macht man mit der Methode toUpper oder mit der Methode toLower. Wir machen uns mal eine Variable, Upper, und rufen auf diese auf Name.ToUpper. Kein Argument, weil dort ein Argument auch relativ wenig Sinn macht. Dann rufen wir mal auf das Name.toLower auf. So, speichern das beides, geben das dann natürlich danach noch aus. Nehmen wir mal den Wert der Variable Upper und den Wert der Variable Lower. Wir geben das Ganze noch einmal aus, und dann sieht man, bei dem toUpper-Aufruf wurde alles in Großbuchstaben umgeändert und bei der toLower-Methode alles in Kleinbuchstaben, so wie wir es erwartet haben. Zum Schluss schauen wir uns noch eine andere Methode an. Diese benutzt man meistens in Verbindung mit Datenbanken. Wenn man mit Datenbanken arbeitet, dann ist es oft so, dass Strings zurückgegeben werden und am Anfang von diesen Strings sind sehr viele Leerzeichen, eventuell am Ende auch. Wir möchten natürlich nur den eigentlichen Teil des Strings haben, der Informationen enthält. Deswegen gibt es eine Methode, die nennt sich trim. Trim entfernt am Anfang und am Ende alle Leerzeichen einer Zeichenkette. Und dazu legen wir uns mal einen neuen Namen an. Nehmen wir mal SpaceName. Und hier fügen wir einfach am Ende mal ganz viele Leerzeichen an. Dann sorgen wir jetzt dafür, dass diese Satzzeichen entfernt werden, ich gehe einfach auf meine SpaceName und dort rufe ich die Methode trim auf. Man sieht jetzt hier im IntelliSense, es gibt einmal die Methode trim, es gibt die Methode TrimStart und TrimEnd. TrimStart und End entfernen natürlich dann nur die Leerzeichen am Anfang bzw. am Ende. Dann rufen wir das hier unten noch mal auf, sagen trim und geben den Inhalt der Variablen aus. Wir schauen uns das Ganze noch einmal an, in der Konsole und sehen, dass alle Leerzeichen am Anfang oder Ende entfernt wurden, so wie man das erwartet hat. Wir haben jetzt gesehen, dass man mit der Klasse String eine ganze Menge machen kann. Wir haben uns jetzt natürlich nur einen sehr kleinen Teilbereich der Methoden angeguckt. Man kann da wirklich noch sehr viel mehr machen. Und immer, wenn man irgendeine Anwendung hat oder eine spezielle Situation hat, wo man meint, man muss selber hingehen, eine Methode implementieren, die eine bestimmte Funktion mit einem String durchführt, sollte man erstmal hingehen, sollte die Klasse String genau analysieren, sollte gucken: Gibt es da eventuell schon etwas, kann ich vielleicht zwei, drei Methoden miteinander kombinieren, um dieses Ziel zu erreichen? Das ist meistens wesentlich schneller und man sollte es auf jeden Fall machen.

Visual C# 2011 Grundkurs

Steigen Sie in die C#-Programmierung ein und lernen Sie sowohl die Grundlagen der Sprache C# als auch die Entwicklungsumgebung Visual Studio 2010 und .NET-Framework kennen.

7 Std. 28 min (81 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Visual Studio Visual Studio 2010
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.06.2011

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!