Transkripte
1. EINFÜHRUNG: Hallo und willkommen zu diesem kurzen Kurs über die Erstellung Ihrer sehr schnellen Anwendung in C scharf. Was werden wir jetzt machen? Wir machen, was man Konsolenrechner nennt. Die Konsole ist einfach ein schicker Name für die Befehlszeile, das Terminal, den Ort, an dem Sie Befehle in Windows eingeben. Der Grund, warum wir die Konsole verwenden, ist, dass Sie die grundlegenden Konzepte lernen können ohne alle durch grafische Benutzeroberflächen gebunden und verwirrt zu werden. Wir werden das folgende Programm machen, das Sie auffordert, eine Zahl
einzugeben c Sie können eine beliebige Zahl eingeben, fragt Sie nach einer zweiten Zahl, und fragt Sie dann für den Prozess,
hinzufügen, subtrahieren, multiplizieren oder teilen. Nun, wenn ich m auswähle und die Eingabetaste drücke, erhalten
wir das Ergebnis wie 1906. Und dann gibt es Ihnen die Möglichkeit, die App zu schließen oder mit der App fortzufahren. Also werden wir nur N und Enter drücken, wodurch das Anwendungsfenster geschlossen wird. Und wir können jetzt den Code dahinter sehen. Okay, also könnte diese Anwendung wirklich,
wirklich einfach auf ihrer Oberfläche aussehen , aber es gibt eine ganze Menge Komplexität, die dort hineingeht. Und noch wichtiger ist, dass es viele
sehr wichtige Prinzipien gibt, die Sie als Trainee Software-Entwickler lernen müssen.
Es spielt keine Rolle, dass wir dies in C-Sharp und dotnet lernen auch weil diese Prinzipien universell sind alle Plattformen, SDKs, Sprachen, Frameworks, was auch immer es ist, Sie werden diese überall verwenden. Also, was genau wirst du lernen? Das allererste, was wir über unsere Konsolen-Apps gehen. Was sind sie? Warum sollten wir sie benutzen? Können wir Konsolen-Apps tatsächlich in der Produktionssoftware verwenden? Es scheint vielleicht nicht so zu sein. Sie sehen sehr einfach aus, aber es gibt einen Platz für sie. Selbst wenn Sie aus diesem Kurs nichts lernen, wissen
Sie, dass Sie Konsolen-Apps in kommerziellen Produktionen verwenden können. Wir werden alles über Variablen lernen, die Speicherspeicher von Objekten werden über Methoden
oder Funktionen lernen und wo sie angemessen zu verwenden sind und wie sie zu verwenden sind. Noch wichtiger ist, dass wir uns Klassen im Vergleich zu Objekten ansehen. Zunächst einmal, was Klassen sind, weil es
ein gemeinsames Konzept ist , das Sie in den meisten Sprachen und Frameworks haben. Aber die Leute werden sehr verwirrt, wenn Sie Klassen gegen Objekte kontrastieren. Ich werde das alles ganz, ganz einfach erklären. Dann werden wir uns Typen ansehen,
insbesondere Zahlentypen, weil wir einen Taschenrechner haben. Diese Zahlentypen führen uns auch in den Themenbereich der Benutzereingabe. Weil ein Benutzer etwas in unsere App setzen muss, um es zu berechnen. Von dort aus werden wir eine Art von Logik ausführen, wenn sonst, welche Fall multiplizieren, Mathe teilen, et cetera. Also werde ich alles über Logik reden. Dann das wichtigste Thema in jedem Kurs, bei dem es um Bücher geht. Wie wird meine Software ausfallen? Warum wird es scheitern? Und was sind die Dinge, die ich jetzt tun kann, um zu verhindern, dass dieses Stück Software in den Händen der Menschen versagt, während sie es verwenden, was zu einer schlechten Überprüfung führen wird oder Ihr Code-Kunde nicht für Updates zu Ihnen zurückkommt. Also werden wir alles über Käfer reden. Und dann im Zusammenhang mit Bugs ist das Thema Refactoring, was ist, wie und wann mischen wir unseren Code herum? Es macht also mehr Sinn für uns, besonders wenn wir in einem Jahr zurückkommen und uns
diesen Code ansehen , den wir vor einem ganzen Jahr gemacht haben und wir völlig vergessen haben. Können wir diesen Code umgestalten, um ihn verständlicher zu machen, so dass wir, wenn
wir zurückkommen, sofort Dinge reparieren und verstehen können, was los ist. Und auch wenn wir Dinge in unserer Software aktualisieren, gibt es eine viel geringere Wahrscheinlichkeit, Fehler zu haben, denn wenn der Refactor gut ist, dann sinkt die Fehleranzahl drastisch. Das sind also die grundlegenden Dinge, die wir in diesem Kurs lernen werden. Aber noch wichtiger als das, ich möchte wiederholen, dieser Kurs nicht unbedingt über diese einzelnen Elemente geht,
aber es ist, wie sie als Paket zusammenkommen, um
Sie in einen professionellen Software-Ingenieur zu verwandeln . Und ja, es lohnt sich, jetzt über sich selbst als
Profi nachzudenken , bevor Sie tatsächlich auf diese Reise beginnen. Denn wenn du jetzt so darüber nachdenkst und die Arbeit einbringst, die mit dem Wort Profi verbunden ist, dann kommst du am anderen Ende raus. Besser als die meisten Profis, die ich
eigentlich besser kenne als ich selbst als Software-Ingenieur. Also mit dem gesagt, lasst uns los.
2. Was ist eine Console: Was ist also eine Konsolen-App? Nun, es ist ziemlich einfach, auf jedem Betriebssystem haben
Sie eine Möglichkeit, mit unserem Betriebssystem zu interagieren indem Sie nur Befehle eingeben, die es erkennt. Dies wird als Befehlszeile bezeichnet oder manchmal wird es die Konsole genannt. Du hast es wahrscheinlich schon mal benutzt. Wenn Sie Linux oder Mac verwendet haben, haben Sie wahrscheinlich nicht. Wenn Sie Windows verwendet haben, aber wenn Sie sich das ansehen, sind
Sie an Texten interessiert oder Sie haben es tatsächlich verwendet. Was ist also eine Konsolen-App? Nun, gehen wir zurück zu unserer speziellen Anwendung. Nehmen wir an, wir haben eine C-Sharp-Anwendung. Jede App verfügt über eine Interaktionsebene, sodass sie die Befehle empfangen kann, die Sie ihr geben möchten. Diese Interaktionsebene nimmt diese Befehle an, macht etwas mit ihnen und gibt sie dann auf einem Bildschirm aus. Zum Beispiel. Einige klassische Beispiele sind ein Mobiltelefon, das nach oben und unten scrollt, Zeug eingibt, es einen PC
sendet, während Sie dasselbe mit einer Tastatur und Maus tun. Und eine Konsole ist einfach eine viel einfachere Art, mit Ihrer App zu interagieren. Sie müssen also keine grafische Benutzeroberfläche erstellen. So können wir diese Funktionalität der Konsole entführen, um Befehle
in unsere spezielle App zu setzen und Ausgabe von der App zu erhalten. Nun, bevor ich gehe, ist
das letzte, was Sie wissen müssen, warum verwenden wir Konsolen-Apps? Während Sie sehen, dass Lehrer wie ich eine Konsolen-App verwenden, weil
Sie nicht alle Feinheiten der Anzeige von Daten auf einem Bildschirm lernen müssen. Sie geben einfach Text aus oder nehmen Texte von einem Endbenutzer an. Und das ermöglicht es Ihnen, die grundlegendsten Konzepte in Programmierung zu lernen, ohne gleichzeitig komplizierte Konzepte lernen zu müssen. Und das hilft wirklich, wirklich.
3. Erstelle eine Console und führe sie aus: Alles klar, Es ist Zeit, unsere erste App in Betrieb zu bringen. Gehen Sie also voran und öffnen Sie Visual Studio 2019, aber nicht Visual Studio-Code oder 2017. Und Sie sollten mit einem ähnlichen Bildschirm präsentiert werden. Und immer gibt es Updates in der unteren Ecke. Ich neige dazu, diese zumindest für eine Weile zu ignorieren, manchmal können sie Ihre Projekte brechen. Wie auch immer, wir werden ein neues Projekt erstellen. Also hier unten werden wir auf Erstellen Sie ein neues Projekt. Und wenn Sie dieses Menü hier oben links nicht sehen können, können
Sie „Neues Projekt ablegen“ gehen. Jetzt in den Projektvorlagen, wird
es Ihnen eine Liste der Dinge, die Sie verwenden können. Also müssen wir Apps konsoldieren, was wir machen werden. Einer von ihnen hat ein VB neben dem Symbol in der oberen Ecke, und der andere hat einen C-Sharp. Wir wollen C-Sharp, weil wir Visual Basic nicht zulassen, wenn wir C scharf lernen. Wählen Sie es also aus und klicken Sie auf Weiter. Es ist erwähnenswert, auf dem Bildschirm, dass Sie all
dieses Zeug nach den Arten von Projekten filtern können , die Sie machen. Wir werden das so etwas wie berechnen Torr nennen. Ich werde es nennen, ich werde als Rechner gehen. Eigentlich. Sie können es irgendwo aufbewahren. Also werde ich es in Ruhe aufbewahren. Nur ein Wort der Warnung. Wenn Sie Projekte auf Ihrer Dropbox oder OneDrive oder einem anderen System speichern dem
Sie Ihre Dateien sichern. Die kleinen Dateien, die es produziert, verursachen Chaos mit ihm und es ruiniert die Akkulaufzeit und ältere Laptops. Manchmal ist es also besser, ein anderes System zu haben, wie GitHub, um Ihren Code zu speichern, wenn Sie damit zufrieden sind, dass er öffentlich wenn Sie nicht sind, müssen Sie für GitHub bezahlen. Aber das verhindert die ganzen Dropbox-Probleme, die ich
mit einer Art von über anderthalb Millionen Dateien wegen der winzigen hatte . Wie auch immer, wir werden
diese unkontrollierte Play-Lösung und Projekte im selben Verzeichnis lassen . Ich erkläre später die Unterschiede zwischen denen. Und dann klicken wir auf Erstellen. Und wenn es erstellt wird, werden wir mit einem Bildschirm von Code präsentiert. Richtig? Jetzt. Ich werde nicht darauf eingehen, was jedes dieser Worte bedeutet. Zum Beispiel, Namespace, Klasse statisch, weil ich wenig erklärt Videos, drei von ihnen kommen nach dieser Vorlesung, wo ich erklärt, was eine Variable ist. Ich habe erklärt, was eine Methode ist. Das ist eine Methode und ich habe den Unterschied zwischen Namespace und Klasse erklärt. Ok? Was ist für uns am wichtigsten zu verstehen, dass dieser Punkt ist, dass alle.net Programm, Ich weiß, ich habe gesagt, C-Sharp-Programm, aber es ist tatsächlich .net in diesem Fall, braucht einen Einstiegspunkt. In der Tat muss jede Software wissen, wo sie in diesem speziellen Fall anfangen soll, und in so ziemlich allen dotnet Fällen beginnen
wir hier auf der statischen void main. Jetzt erkläre ich später, was statisch in Bezug auf eine Klasse bedeutet, aber Sie müssen nur wissen, dass hier wir anfangen. Und die erste Codezeile, die wir ausführen werden, ist die Konsolenpunkt-Schreibzeile. Also, jetzt, wenn wir das oben spielen hier haben wir diesen Rechner Spielknopf. Und wenn wir darauf klicken, sollten
wir ein Konsolendisplay zu uns bekommen, das oben steht hallo, also lassen Sie mich das für Sie vergrößern. Okay, also steht hier „Hallo Welt“. Und dann sagt das Programm: Gibt es jetzt noch etwas zu tun? Also hört es einfach im Grunde auf. Und dann drücken Sie eine beliebige Taste, um dieses Fenster zu schließen. Drücken Sie also eine beliebige Taste und Sie werden in Ihren Code
zurückgeworfen und das gesamte Programm hört auf zu laufen. Also, jetzt können wir versuchen, diese Zeile zu kopieren, fügen Sie sie unter. Also möchte ich, dass du mitmachst. Mein Name ist Punkt, Punkt, Punkt. Und jetzt, wenn wir das laufen, bekommen
wir zwei Zeilen. An der Spitze. Hallo Welt, mein Name ist okay. Da sind also die beiden Zeilen. Nun, was ich Ihnen zeigen möchte, bevor wir diesen Abschnitt beenden ,
ist, dass, wenn ich beginne, etwas in Visual Studio zu tippen, es hat, was sie IntelliSense,
IE nennen , es sagt voraus, was Sie eingeben werden. Konsole wird sehr,
sehr oft von mir getippt . Es weiß also, dass es das ist, was ich will. Und wenn Sie die Eingabetaste drücken, tut
es automatisch. Und dann setzen Sie Punkte, rechte Linie. Also werden wir etwas ausschreiben. Und wenn Sie den Mauszeiger darüber bewegen, können
Sie auch die Tabulatortaste anstelle der Eingabetaste drücken, je nachdem, wie Sie die Dinge eingeben. Und dann öffnen und schließen Sie. Und wenn Sie eine Klammer öffnen, sagt
es Ihnen, was das tut. Das ist also ein bisschen klein. Ich bin mir nicht sicher, ob ich das ändern kann. Und Visual Studio, ich fürchte, aber es sagt, schreibt den aktuellen Zeilenabschlusszeiger in den Standardausgabestrom. Was wirklich informativ ist, oder? Wenn Sie gerade anfangen zu codieren, bedeutet das
alles, dass eine aktuelle Zeile beendet wird. Es setzt einen Wagenrücklauf am Ende der Zeile, so dass es in die nächste Zeile geht. Wenn wir nach oben und unten drücken, während das angezeigt wird. Nun, es war mal auf und ab. Ich benutze 70 IDs. Ich vergesse, was die Abkürzungen für jeden sind. Aber wenn Sie diese Pfeile an der Seite drücken, sagt
es Ihnen die verschiedenen Dinge, die Sie
in dieser Konsole setzen können.WriteLine , die es direkt an die Konsole lassen wird. Okay, das ist also, dass Sie Ihr erstes Stück Code geschrieben haben. Und Sie haben verstanden, dass Visual Studio
Ihnen Intellisense gibt , um das, was Sie schreiben werden, automatisch zu vervollständigen.
4. Was ist eine Variable in C Sharp: Was ist eine Variable in C Sharp? Nun, zunächst einmal, fangen wir mit unserem C Sharp Programm oder Software an. Dies könnte natürlich jede Sprache sein, da Variablen in allen Programmiersprachen universell sind. Mein spezielles ist auf einer Diskette gespeichert. Und wenn Sie unter 30 Jahren sind, haben
Sie wahrscheinlich keine Ahnung, was eine Diskette ist. Wie auch immer, zurück zum Programm. Das Programm wird also Teile von Daten darin haben. Wir könnten eine ganze Zahl haben, die eine ganze Zahl ist. Wir könnten eine Zeichenfolge haben, die jemandes Name sein könnte, und sie könnten eine Variable vom Typ Hund in unserem Programm haben. Was bedeuten die? Es spielt an dieser Stelle keine Rolle. Darauf kommen wir. Zweitens wird Ihr Programm eine Art Operation mit diesen Daten durchführen. Ich werde C-Sharp-Programm macht Sachen. Und schließlich gibt es aus, was es getan hat. Also sagt es Ihnen, was es getan hat, speichert in einer Datenbank, legt es auf einen Server, all das gute Zeug. Eine Variable ist einfach ein Datenspeicher. Also, dass die erste Zeile, wenn wir ganze Zahlen, Strings
und Variablen vom Typ Hund haben , sind Variablen, die im Speicher gespeichert werden. Warum haben wir verschiedene Arten von Variablen, Ganzzahlen, Strings und andere? Nun, die Antwort ist ziemlich unkompliziert, aber es gibt eigentlich zwei Gründe dafür. Hauptsächlich. Der erste Grund ist, warum Computer herkamen. Also hier habe ich einen Computer, ein Computer hat in ihm zufälligen Zugriff Speicher oder RAM. Und RAM hat endliche Speicherblöcke darin. Ram ist, wo alle Ihre Variablen gespeichert werden, während Ihr Programm läuft und anfordert, diese bestimmten Variablen zu verwenden, oder? Deshalb müssen Sie sehr vorsichtig sein, wenn Sie Software machen,
um nicht das, was wir nennen, ein Speicherleck zu haben, weil Sie diesen RAM sehr,
sehr schnell auffüllen und das kann den Computer zum Absturz bringen als auch Ihr Programm natürlich. Also, wenn wir uns den RAM anschauen und wir wirklich Drilldown alle eine Variable ist, ist ein Speicher von Daten in einer bestimmten Adresse oder Bereich auf dem Speicher. Und wenn wir so etwas wie eine ganze Zahl haben, die nur eine ganze Zahl ist, die weniger Speicher
beansprucht als eine Zeichenfolge. Deshalb haben wir Arten von Variablen oder Typen, was der technische Begriff für sie ist, so dass wir optimieren können, wie wir sie im Speicher speichern. Jetzt ist der zweite Grund, warum wir Typen in Variablen haben, für das Folgende. Nehmen wir an, wir haben eine Summe, 2 plus 6 gleich 8, oder 8 plus B gleich C, Da Sie es innerhalb Ihres Programms codieren könnten, sind das alle Ganzzahlen. Und weil wir ganze Zahlen und das Pluszeichen verwenden, unsere zugrunde liegende Software oder weiß
unsere zugrunde liegende Software oder
das Framework, auf dem Sie sitzen, was damit zu tun ist. Es weiß, was Addition zwischen Zahlen bedeutet. Jetzt könnten Sie sagen, nun, das ist ziemlich offensichtlich für Sie, aber es ist nicht für einen Computer. Denn wenn du einen Computer H plus I gibst, würde
er sie zusammenstellen, um hoch zu machen, es würde sie verketten. Das ist der große Technikbegriff dafür. So Arten von dort, um sicherzustellen, dass wir kompatible Operationen
zwischen verschiedenen Typen durchführen können , so dass wir nicht in Schwierigkeiten später, wenn das Programm ausgeführt wird. Also, wenn Sie einen Typfehler bekommen, ist
es normalerweise während Sie die Software machen, was eine gute Sache ist, weil Sie nicht wollen, dass die Luft auftaucht, wenn die Software in den Händen Ihres Endbenutzers ist, denn dann wird es abstürzen. Nun gibt es viele, viele andere Gründe, dass wir Typen haben, aber das sind nur die zwei Arten von Übersichten auf hoher Ebene warum sie existieren und warum,
um ehrlich zu sein, dass sie existieren sollten. Also hoffe ich, dass das erklärt wird, was eine Variable nicht C-scharf ist. Und wenn Sie etwas anderes wissen möchten, dann legen Sie es einfach in den Kommentaren ab.
5. Was ist eine Methode in C Sharp: Eine Methode in C Sharp. Es wird auch eine Methode in anderen Sprachen genannt, oder manchmal wird es sogar eine Funktion genannt. Dasselbe, mehr oder weniger. Sieben c-scharf. Nehmen wir an, Sie haben einen Code. Sie haben eine Zahl mal Zahl b gleich Zahl c. Sie haben eine Druckantwort auf dem Bildschirm, so dass wir das Ergebnis sehen können. Und dann teilen wir durch die Zahl c und dann speichern wir das auf dem Server. Also haben wir irgendwie eine Sequenz von Dingen, die wir versuchen, mit unserem Code zu tun, geben Sie die Variablen ein. Und wenn du das gerade so beschichtest, wie ich es gerade gesagt habe, wäre
das prozedural. Wir fahren einen Weg entlang. Was ist, wenn Sie den gleichen Code haben, aber Sie die mittleren zwei Schritte austauschen möchten, oder was tun Sie dann? Die neuen Leute zum Codieren würden normalerweise sagen, naja, ich werde es einfach nochmal austippen und die mittleren zwei tauschen. Aber das ist eine schreckliche Art zu programmieren, weil Codieren eines der übergeordneten Prinzipien trocken genannt wird, was bedeutet, dass Sie sich nicht wiederholen. Es hat auch einige andere viel Wurzel von Bedeutungen, die Sie entdecken, wenn Sie einen Job als Software-Ingenieur bekommen. Okay, also was können wir in diesem Fall tun? Nun, was wir tun können, ist auf eine Methode zu verlassen, weil die Methode einfach eine Sammlung von Code ist, die eine bestimmte Funktion ausführt. Also würden wir eine Methode namens Multiply haben. Wir hätten eine Methode namens dividieren. Wir hätten eine Methode namens print und eine Methode namens store. Und dann, wenn wir unser Programm ausführen, wenn wir die Reihenfolge ändern wollen, können
wir sie einfach austauschen, ohne den ganzen Code erneut eingeben zu müssen. Also kann ich buchstäblich jede Kombination dieser Methoden haben, die ich spiele. Und Software ist so. Sie haben viele verschiedene Kombinationen aller Methoden und Klassen, die Sie erstellen. Also, wie sieht eine Methode tatsächlich aus? Nun, in C-scharf, ist es ein bisschen so. Und in der Tat, die meisten Sprachen wie diese, haben
wir einen Methodennamen, der multipliziert ist. Wir haben ein paar Argumente. Dies sind nur Teile von Daten, die wir an die Methode übergeben oder die Methode fragt. So kann es tun, was es tun muss. Also in diesem Fall übergeben wir zwei Zahlen, Zahl a und b
und dann innerhalb der Methode,führen
wir eine Zahl mal Baus. und dann innerhalb der Methode, führen
wir eine Zahl mal B Wir bekommen die Antwort für diese Multiplikation. Und dann geben wir das an, was auch immer die Methode genannt wird. So sieht eine Methode im Inneren aus. Nun, Sie verstehen irgendwie, ich hoffe, warum wir Methoden verwenden und was sie
nur eine Sammlung von Code sind , die es uns erlaubt, es in beliebiger Reihenfolge zu nennen. Aber Sie könnten sich das ansehen und sagen, warum gibt es nur eine Codezeile, die Rückgabezeile. Und ich musste eine zusätzliche Sache an der Spitze von multiplizieren mit all den geschweiften Klammern und dem ganzen Rest hinzufügen. Es scheint ein bisschen übertrieben zu sein. Aber in der Softwareentwicklung ist das nicht übertrieben. So machst du es. Denn irgendwann wird
jemand in den C-scharfen Göttern des Himmels sagen, ich werde die Rückkehr ändern, int oder so etwas lächerlich zurückgeben. Wenn Sie also jetzt nicht der Methode gefolgt sind, Dinge zu tun, hätten
Sie tausend verschiedene Orte, um diese Rückkehr zu ändern, um int in Ihrem Code zurückzugeben. So können Sie sich vorstellen, es zu aktualisieren, ist sehr, sehr schmerzhaft. Jetzt in Wirklichkeit wird Return int nie passieren. Aber es gibt viele Male, in
denen andere Versionen davon passieren und Sie haben viel Code zu ändern. Wenn Sie also eine Methode haben, müssen
Sie den Code nur an einer Stelle ändern da Sie den Namen Ihrer Methode offensichtlich nicht ändern müssen. Der ganze Rest des Codes, der diese Methode verwendet, erhält automatisch die Änderung, da alles innerhalb der Multiplikationsmethode gespeichert oder gekapselt ist. Das ist also, was eine Methode ist. Nur eine Sammlung von Code, der eigenständig, die von jedem anderen Teil Ihres Programms aufgerufen werden kann, die Sie angeben.
6. Namespace vs Kurs in C Sharp: So oft bekommen Anfänger sehr verwirrt zwischen dem, was ein Namespaces Vergleich zu einer Klasse in C-Sharp und in anderen Sprachen, natürlich müssen
wir zuerst wissen, was eine Klasse ist. Eine Klasse ist einfach ein Blueprint von Code, der Objekte erstellt. Wenn Sie also in C-Sharp das neue Schlüsselwort sehen, bedeutet
dies, dass wir ein Objekt aus einem Blueprint oder einer Klasse erstellen. Nehmen wir an, wir haben eine Klasse von Hund. Dieser Hund hat einen Namen, er hat eine Bug-Methode und es hat eine Sniff Methode, die Dinge, die er tut. Der Name ist eine Eigenschaft. Nehmen wir auch an, wir haben eine Klasse namens Katze, die die gleiche Eigenschaft des Namens hat, aber es hat verschiedene Methoden namens Mao und Schlaf, weil Katze die ganze Zeit schlafen. Was wir gerne machen möchten, ist diese logisch zu gruppieren. Wenn ich also eine Anwendung mache, die auf Katzen und Hunde zugegriffen hat, würde
ich keine Katze importieren und einen Hund importieren wollen. Was ich wahrscheinlich tun möchte, und Sie können das anders konstruieren, aber das gibt Ihnen die Idee, was ein Namespace ist,
ist, beide einen Namespace auf die folgende Weise zu setzen. Namespace-Tiere, Klasse des Hundes und Klasse der Katze. Wenn ich meine Anwendung woanders erstelle, kann
ich den Namespace der Tiere importieren und dann auf Hund und Katze zugreifen. Die Art und Weise, wie Sie es ohne Import zugreifen würden, ist,
Tiere doc Hund und Tiere dot cat zu sagen . Ein Namespace ist also einfach eine Möglichkeit Ihre Anwendung in einem eigenen logischen Paket zu
organisieren. Das ist alles, was es ist. Während eine Klasse im Grunde etwas ist, das Sachen macht, die Eigenschaften hat, et cetera. Ein Namespace tut nichts davon und sollte nichts davon tun. Es ist einfach nur ein organisatorisches Werkzeug. Nun, Namespaces, was sie tun, variiert zwischen Sprachen, Frameworks, et cetera. Aber das ist die Grundidee davon. Wenn Sie also einen Namespace für haben, sagen
wir Ihren Server, nennen
wir ihn Server-Bibliothek. Innerhalb dieses Namespace hätten
wir nur die Daten und Methoden, die sich auf diesen bestimmten Server beziehen. Sie müssen also sehr,
sehr logisch darüber nachdenken , was Sie in Ihren Namespace einfügen. Und stimmt es mit dem, was der Namespace genannt wird und was der Namespace voll ist.
7. Schreibe unseren eigenen Code – Maths in C#: Wo wir das letzte Mal aufgehört haben, gab
unser Programm eine einzige Zeile an die Konsole von helloworld aus. Wir werden das ändern. Also lasst uns die Linie komplett entfernen und mit mir folgen. Wir werden das Wort int oder das Schlüsselwort int eingeben, das ist kurz für Integer. Und wie ich vor ein paar Videos darüber erklärt habe, was Variablen sind. Eine Ganzzahl ist einfach ein Speicherspeicher einer ganzen Zahl. Und wir werden diese ganze Zahl a nennen also braucht jede Variable in C Sharp einen Namen, einen Namen, den wir erkennen. Sonst bekommst du einen Namen, der so etwas wie ich nicht weiß, so etwas. Es ist eine Hex-Zeichenfolge oder etwas Ähnliches wie das, was tatsächlich ein Speicherort im Speicher ist. Und offensichtlich können wir uns das nicht als Menschen erinnern. Also verwenden wir einfach einfache Wörter und Namen. Wenn Sie nun eine Variable benennen,
stellen Sie sicher, dass Sie sie nicht so etwas wie int nennen, da dies ein reserviertes Wort in C Sharp ist. Und es gibt viele reservierte Wörter in allen Programmiersprachen, die Sie nicht als Namen von Dingen verwenden können. So können Sie sehen, dass die kleine rote quiggly Linie Ihnen sagt, dass es eine Kennung erwartet. Das ist, weil es verwirrt wird, weil du es zweimal gesagt hast. Also dieser Bezeichner oder der Name der Variablen ist a, und es wird eine einfache Zahl sein, 22, und wir beenden das mit dem Doppelpunkt. Dann lassen Sie uns eine andere Nummer erstellen. Int b ist gleich, sagen wir 10. Und jetzt können wir eine weitere Variable erstellen. Aber bevor wir es tun, beachten Sie, dass es eine grüne, zerquetschige Linie gibt. Es sagt Ihnen, dass B zugewiesen ist, aber sein Wert niemals verwendet wird. Warum ist das wichtig? Nun, wenn du Dinge in Erinnerung bringst, was wir hier sind, und du benutzt sie nie. Sie bleiben im Speicher, bis etwas namens Garbage Collector kommt und sie entfernt. Also geben wir etwas Platz frei. Aber manchmal werden Sie Dinge in Erinnerung setzen. Der Garbage Collector wird mitkommen und sagen, es sieht so aus, als würden Sie das immer noch verwenden. Also werde ich es in diesem Fall nicht anfassen, das wäre wahrscheinlich wahr. Wir wollen also keine Dinge im Gedächtnis haben, die wir nicht verwenden. Visual Studio warnt uns davor. Jetzt werden wir int c erstellen, das gleich einem Plus b ist. Einfach genug, richtig? Wir fügen a und B hinzu. So können wir das jetzt auf Konsolenpunkt ausdrucken, Zeile C
schreiben und mit einem Doppelpunkt enden. Und dann können wir eine weitere Zeile hinzufügen, bevor wir diese Konsole Punkt lesen Zeile ausführen. Dies liest also die nächste Zeile von Zeichen aus dem Standard-Eingabestream. Mach dir keine Sorgen darüber, was das jetzt bedeutet. Wir lassen es einfach in Ruhe und führen es wie es ist. Also lasst uns spielen. Und wir sollten zwei Variablen erstellen. Und dann bekommen wir nur eine Sache ausgedruckt, die eine große Zahl ist, 32. Nun, weil wir Redline in gesetzt haben, was das tut, ist das Ende des Ausführungsskripts zu stoppen, wo es vorher gesagt, drücken Sie eine beliebige Taste, um zu beenden. Also, jetzt wartet es auf uns, etwas zu tippen,
was, wenn ich es tue,
dann beendet es und dann ermöglicht es uns, eine
beliebige Taste zu drücken , um dieses Fenster zu schließen, so dass Konsole Zeile lesen, nur für Konsolen-Apps ermöglicht es uns, die App am Leben zu halten bis wir tatsächlich eine Taste drücken. Es ist also nur ein kleiner Puffer bis zum Ende da. Okay, so macht man im Grunde Mathematik. In C-Sharp. Sie verwenden einfach Ihre klassischen mathematischen Fähigkeiten plus, minus Zeiten und teilen. Also werde ich dir jetzt ein paar Hausaufgaben machen. Ich schreibe hier einen Kommentar. Bitte teilen, multiplizieren und subtrahieren Sie a und b und zeigen Sie auf der Konsole an. Okay, mach weiter, pausiere das Video jetzt, weil ich die Lösung nach der Pose einführen werde. Also, wie war das? Ich vermute, ziemlich einfach. Und du bist zu einem bestimmten Punkt gekommen. Wenn wir subtrahieren wollen, setzen wir einfach ein Minus M Wenn wir teilen wollen, setzen
wir einen Schrägstrich. Und wenn wir multiplizieren wollen, setzen
wir ein Sternchen in, rechts, also Schrägstrich und Sternchen. Ich denke, die meisten Leute wissen über Schrägstrich Sternchen kann nicht sein. So können wir uns jetzt vermehren. Was aber interessant ist, ist, wenn ich a durch b teile und ich das durchführe, welche Antwort denkst du, 22 geteilt durch zehn sollte mir geben, es sollte mir 2,2 geben, oder? Aber es wird mir nur zwei geben. Das ist eindeutig die falsche Antwort. Also werden wir ein wenig später in diesen Themenbereich gelangen. Aber seien Sie sich bewusst, dass beim Deklarieren von Variablen
diese Art von Variable, die Sie deklarieren, wer sich auf das auswirken
wird , was Sie mit Ihrem Code planen.
8. Number in C# – und warum: Richtig, Dies ist also, wo dieser Kurs Art von einem traditionellen Lehrkurs abweicht. Weil, hey, ich hasse Tradition, wenn sie nicht erfüllt was du als Student brauchst, und muss verursacht werden. Also werde ich Ihnen einige Fähigkeiten geben, die Sie definitiv brauchen, wenn Sie Software-Ingenieur werden. Die Fähigkeit Nummer eins ist die Fähigkeit, nach Dingen auf einer Suchmaschine wie Dr. go zu suchen. Übrigens verwende ich Google nicht mehr. Ich benutze dot-dot go, weil Dr. Gao mir genauere Ergebnisse liefert als Google, weil Google zu viele Filter hat. Dr. Banko gibt mir nur, was ich will. Und es ist auch in Privatsphäre. Ein Befürworter, was in meiner Welt als Software-Ingenieur ohnehin gut ist. Also, was ich sage, dass Sie eine Fähigkeit
entwickeln müssen ist die Fähigkeit herauszufinden, warum Dinge das tun, was sie in Ihrem Programm mit einer Suchmaschine tun. Also, wissen Sie, diese Zeile, in der wir sagten, a geteilt durch b gab uns ein Ergebnis von zwei, was eindeutig falsch ist. Nun, was wir tun müssen, ist, wieder in die Kette zu gehen und anfangen zu verhören, warum. Das gab uns eine Antwort von zwei. Und der Grund dafür ist, dass eine Ganzzahl eine ganze Zahl ist. Und wenn Sie Dinge in einem ganzen Zahlencontainer speichern, es Ihnen nur ganze Zahlen und keine Dezimalstellen, okay? Eine der Fähigkeiten, die Sie
lernen müssen , ist, wenn Sie auf ein Problem wie dieses stoßen und ja, ist ein triviales Problem. Und Sie kennen wahrscheinlich die Antwort. Aber Sie müssen versuchen, darüber nachzudenken, wie Sie nach diesen Dingen suchen. Also das allererste, was ich tun würde, ist, den Namen der Sprache zu setzen. So C Sharp, und klar, die Leute zahlen Musik viel mehr spielen, als sie
CAS C Sharp Codes programmieren die Räder haben Probleme mit für jeden klar. Ok, C-scharf. Und dann werden wir int setzen. Und sieh mal, was da kommt. Die erste Option ist ein int-Bereich. Das ist interessant. Wenn wir darauf klicken, was bekommen wir dann? Wir bekommen die Microsoft Docs, die hier ist, lassen Sie mich für Sie zoomen. Normalerweise sind die Dokumente in Ordnung, aber sie sind nicht erstaunlich. Ok. Ich meine, als Anfänger, wenn wir das anstarren, wäre
ich sehr verwirrt und würde sofort ausschalten. Und Microsoft scheint nie darauf eingegangen zu sein. Ich denke, Android von gefangen auf, dass. Besser, um ehrlich zu sein. Wir haben das zweite Ergebnis hier. Hinweis: Indexoperatoren. Du siehst also, was ich meine. Sie können stundenlang nach Dingen suchen und nicht die Sache finden, die Sie suchen. Also werde ich Ihnen eine Abkürzung geben. In diesem Fall werden wir C-scharf in Typen gehen und wir haben integrale numerische Typen. Vielleicht, wenn wir das in einen Zahlentyp ändern, haben
wir C-Datentypen, wir haben Gleitkomma-numerische Typen. Hier gibt es viele Dinge zu lesen. also zu unserem speziellen Problem zurückkommst, wenn du diesen Prozess durchgemacht hast und ich werde es hier nicht machen, x es dauert eine Weile. Aber sobald Sie diesen Prozess durchlaufen haben, bauen
Sie tatsächlich Ihr Verständnis für die Programmiersprache immer mehr auf und beheben
nicht nur Ihr Problem. Und so habe ich gelernt. So fing ich an zu lernen, war das nicht funktioniert. Also sprang ich zu einer Suchmaschine und suche sie, suche nach etwas Ähnlichem. Und dann lese ich den Themenbereich herum. Und wenn Sie mehr und mehr erfahren werden, werden
Sie immer genauer mit dem, was Sie suchen. Und die Notwendigkeit, zu suchen, wird immer weniger. Schließlich brauchen Sie also nicht wirklich eine Suchmaschine, um Ihre Projekte zu vervollständigen. Aber jetzt als Anfänger würde
ich raten, dass Sie das tun. Okay, also was läuft hier schief? Um auf unser Problem zurückzukommen, ist die Tatsache, dass es sich um ganze Zahlen handelt. Ich kann dies in eine andere Art ändern, die Float genannt wird. Oder in der Tat kann ich das als Ganzzahl belassen. Und ich kann C in einen Schwimmer ändern. Jetzt ermöglicht ein Float Dezimalstellen. Floats und Doubles ermöglichen Dezimalzahlen. Das Problem ist, wir bekommen immer noch nur die Nummer 2. Das ist also interessant, nicht wahr? Warum macht es das? Das könnte etwas mit der Tatsache zu tun haben, dass es sich um ganze Zahlen handelt. Lasst uns alles in einen Schwimmer verwandeln. Und lassen Sie uns auf Play drücken. Und jetzt bekommen wir genau die Antwort, nach der wir suchen, die 2,2 K. also Float funktioniert. Der andere Typ, über den Sie wissen müssen, ist ein Double. Ok? Sprachen wie C Sharp mögen es nicht, Floats und Doubles auf diese Weise zu mischen. Sie mögen es wirklich nicht. Du müsstest eins zum anderen umwandeln. Aber das ist mit dem Fahrrad, weil wir jetzt nichts davon machen werden. Also im nächsten Video werde
ich den Unterschied zwischen Ganzzahlen, Floats und Doubles erklären.
9. Unterschied zwischen int in C Sharp: Hier ist der Unterschied zwischen einer Ganzzahl, einem Gleitkommawert oder einem Double. Jetzt gibt es andere Typen in C Sharp und anderen Sprachen, die Zahlen für Sie speichern, aber dies sind die drei häufigsten. Ich werde insbesondere C-Sharp diskutieren, aber vieles davon gilt auch für andere Sprachen,
aber überprüfen Sie immer, ob Ihre App geschäftskritisch ist. Also zuerst haben wir eine ganze Zahl und Integer speichert eine ganze Zahl. Und es kann von einem Bereich von rund minus 2 Milliarden auf über 2 Milliarden gehen. Die Zahl ist nicht gerade 2 Milliarden, aber das ist ungefähr richtig. Ein Float erweitert diesen Bereich um einen langen Weg. So geht es von minus 3,4 mal 10 zu den Acht. Also 38 Nullen nach 3.4 auf die positive Version davon plus 3.4 mit 38 Nullen geht
ein Double von minus 1,79 auf 308 Nullen danach. Das ist also eine sehr, sehr große und genaue Zahl. Seien Sie sich nun immer bewusst, dass Sie mehr Rechenleistung benötigen, um große Zahlen,
genauere Zahlen usw. zu verarbeiten . Also, wenn Sie Ihre Anwendung erstellen, erstellen Sie
keinen Zähler mit Doubles außerdem, Sie würden das nicht tun, weil es in einer sehr seltsamen Präzisionsart ungenau ist. Du würdest ganze Zahlen verwenden. Wenn Sie einen Finanzantrag machen, würden
Sie Doubles verwenden, weil Sie möchten, dass Ihre Dezimalzahlen auf dem Punkt sind. Es gibt also keinen Rundungsfehler, wenn Sie das Ende aller Grove-Berechnungen herauskommen. Also eine Ganzzahl zum Zählen, ein Float für Dezimaltypvariablen. So zum Beispiel, Temperatur und Geld und ein Doppel für die höchste Genauigkeit, wie ich sagte, das ist für Finanzanwendungen.
10. Erstellen von Benutzereingaben: Also machen wir einen Taschenrechner. Offensichtlich wollen wir keine statischen Werte, und das ist es, was das ist. Und wenn ich statische Werte sage, beziehe
ich mich nicht darauf, was dieses Wort bedeutet. Ich beziehe mich nur auf die Tatsache, dass sich diese Werte nie
ändern können , weil wir keine Möglichkeit haben, neue Werte einzugeben. Also lassen Sie uns all diesen Code im Hauptbereich entfernen. Und ich werde einen Taschenrechner-Code einfügen. Jetzt ist es erwähnenswert, dass dieser Code aus der eigenen Dokumentation von Microsoft stammt. So kannst du immer da rüber gehen und es dir ansehen, wenn du willst. Ich dachte, es wäre besser, einen Kurs um das zu erstellen, was sie empfehlen ,
so dass Sie zwei Referenzpunkte haben, von denen Sie lernen können, oder? Also, wenn Sie das Video anhalten wollen, dann können Sie dies jetzt tun, um es zu kopieren. Und dann, wenn Sie das Video fortsetzen, scrollen
ich nach unten, damit Sie die letzten paar Zeilen kopieren können, die nicht in ein K passten. Nun, da wir wieder im Code sind, schauen wir uns an, was hier passiert. Sie werden feststellen, dass ich zwei ganze Zahlen erstellt habe, Nummer eins und Nummer zwei, und ich habe sie beide auf 0 gesetzt. Jetzt kann ich diese auf die gleiche Linie setzen, denn in C-Sharp haben wir den Separator, uns erlaubt, das zu tun. Die meisten Programmierstile sagen, dass wir sie in separaten Zeilen haben sollten. Ich neige dazu, dem zustimmen. Jedenfalls. Wir schreiben eine einfache Zeile,
Konsole, Rechner und C-Sharp. Und dann setzen wir ein paar Striche in Wimpern, um die Dinge schön aussehen zu lassen. Ok? Dann schreiben wir eine andere Zeile, die eine Zahl eingeben und drücken Sie die Eingabetaste. Also geben wir unseren Anwenderanweisungen. Dies wird als Benutzererfahrung bezeichnet. Und ja, auch Konsolen-Apps benötigen eine Benutzererfahrung. Wenn Sie nur eine blinkende Konsole präsentieren, wissen sie nicht, was zu tun ist. Also musst du ihnen sagen, was sie tun sollen. Dann kriegen wir diese Nummer. Und was auch immer sie eingeben, wird als Zeichenkette mit der Konsolenpunkt-Lesezeile gelesen. Ok? Also Konsolenlese-Zeile ist, was Sie eingeben, wird in den Speicher gelegt. Und dann werden wir diesen Wert ergreifen. Wir werden es in eine 32-Bit-Ganzzahl konvertieren. Ich erklärte die Unterschiede zwischen ganzen Zahlen, et cetera. Zuvor. Was wir hier tun, ist, dass wir diese Zeichenfolge tatsächlich in eine ganze Zahl konvertieren. In der nächsten Vorlesung werde
ich Ihnen erklären, wofür Conversions verwendet werden, warum sie schlecht sind, meistens gesprochen, und warum Sie versuchen sollten, sie nicht zu benutzen, sondern weil wir gerade am Anfang lernen, werden
wir haben Sie das hier. Und dann würden wir sie bitten, eine andere Nummer einzugeben. Wir machen den gleichen Prozess, würden ihre Eingabe bekommen und wir setzen es in Variable Zahl 2. Und dann bitten wir sie, eine Option aus der folgenden Liste zu wählen, die ein für Add, subtrahieren und multiplizieren und D4 dividieren ist. Ok? Sie werden sehen, was Backslash t bedeutet, wenn wir das Programm ausführen. Und dann sagen wir, was ist Ihre Option? Dann wird der Benutzer eingeben, was auch immer seine Option dafür ist. Und das haben wir noch nicht ausgeschrieben. Aber wir werden in diesem Abschnitt füllen, wo wir eine
sogenannte switch-Anweisung verwenden , um die eigentliche Mathematik zu tun, die der Benutzer uns gebeten hat. Und dann endlich haben wir das gleiche Zeug, das wir vorher hatten, das heißt, drücken Sie eine Taste, um den Rechner zu schließen und dann wirklich Taste. Also, wenn wir das einfach ausführen, ist
es einfacher zu verstehen, wenn Sie es sehen können. Das sieht also ganz schön aus. es nicht? Geben Sie eine Zahl ein, und drücken Sie die Eingabetaste sieben, geben Sie das Intervall Und dann können Sie eine der Optionen wählen. Und dieser umgekehrte Schrägstrich t gibt Ihnen einen Tabulatorraum. Also eine feste Anzahl von Leerzeichen, bevor es Dinge zeigt. Es ist nur ein netter kleiner Formatierungstrick. Also können wir eine SMD setzen, aber wir haben noch nichts davon eingestellt. Und wir werden nur eine Taste drücken, um den Rechner zu schließen. Da gehen wir hin. Also, das ist alles weg, oder? In den nächsten Vorträgen werde
ich mit ein paar Zeichnungen erklären, welche Konvertierung zwischen Typen ist. Und eigentlich werde ich auch erklären, was ein Typ mit dem gehen soll. Und ich werde auch diesen Abschnitt erklären. Verwenden Sie eine switch-Anweisung, um die Mathematik durchzuführen. Also werde ich erklären, was eine switch-Anweisung ist. Und dann die Vorlesung, die darauf folgt, werden
wir tatsächlich in der switch-Anweisung füllen, um das ganze Lesen des Add zu tun, subtrahieren, multiplizieren, teilen und die Antwort an die Konsole auszugeben.
11. Was ist eine Type in C Sharp: Schauen wir uns die Typumwandlung in Muschel an. Nehmen wir an, Sie haben eine Variable. In diesem Fall haben wir eine ganze Zahl, die gleich 8 ist. Wenn ich das auf einem Bildschirm zeigen möchte, muss
ich generell eine Zeichenfolge übergeben, um Text auf einem Bildschirm anzuzeigen. Also müsste ich diese ganze Zahl in eine Zeichenfolge konvertieren. Und in C-Sharp heißt es buchstäblich, dass zwei String der Methodenname ist. Wir können die ganze Zahl in eine Zeichenfolge konvertieren, die jetzt acht ist, aber in Anführungszeichen, um Ihnen zu zeigen, dass es sich um eine Zeichenfolge handelt, und der Computer wird dies gerne anzeigen. Jetzt ist das in Ordnung, wenn Sie von einem einfachen Typ wie
einer Ganzzahl zu einem komplexeren Typ wie einer Zeichenfolge gehen . Es funktioniert nicht so gut, wenn Sie von komplex zu einfach gehen, okay, also könnte von String zu Ganzzahl funktionieren, aber es könnte auch explodieren. Mal sehen, wie, wenn wir eine Zeichenfolge in Anführungszeichen, acht bis Ganzzahl und wieder in C Sharp haben, es nur zwei Zoll sind. Der Methodenname, der in acht konvertiert wird, kein Problem. Es ist so, wie wir es erwarten. Aber wenn ich eine Zeichenfolge mit einem Text wie hoch habe und das in eine ganze Zahl umwandle, explodiert
das Ganze. Unser Programm schlägt an diesem Punkt fehl und wir erhalten einen Laufzeitfehler, der
die schlimmste Art Vera alle Bereiche ist, die wir
eine Kompilierzeit wollen , damit wir sie adressieren können, bevor wir dies dem Endkunden übergeben. Wenn Sie also von einer komplexen Zeichenfolge zu einer einfachen gehen, können Sie Ihr Programm explodieren. Es gibt eine weitere Ära. Bevor ich dorthin gehe, werde ich dich mit lassen, was von etwas wie einem Float 10.2 zu einer Ganzzahl geht. Jetzt kann eine Ganzzahl keine Dezimalzahl speichern. Also, was es tut, ist einfach lops
vom Ende dieser Zahl an dem Punkt 2 und wir sind nur mit zehn übrig. Es ist also die Konvertierung für uns gemacht, es ist 10. Dasselbe, wenn wir ein Double zu einer Ganzzahl hatten. Und es gibt eine ganze Reihe von Konvertierungen in allen Programmiersprachen, auf die Sie sehr vorsichtig sein müssen. Weil solche Dinge passieren. Dinge können auch passieren, wie, sagen
wir, wir haben eine ganze Zahl 10 oder einen Float 10,
zum Beispiel, ein Double. Wir könnten einige seltsame Artefakte von 10,
2, 000, 000, 000, 000, 000, 001 bekommen . In den meisten Fällen wurden diese Arten von Fehlern aus vielen Software-Entwicklungssystemen
gehänselt. Aber ich sehe sie immer noch gelegentlich. Ich glaube nicht, dass ich in C-Sharp schon lange gesehen habe, ob ich es jemals gesehen
habe, ich kann mich nicht wirklich erinnern, weil ich keine Conversions mache. Und ich habe Ihnen gerade gezeigt, warum Sie
Bekehrungen wie die Pest vermeiden sollten , es sei denn, Sie müssen wirklich, wirklich. Aber es ist eine viel bessere Idee, Ihre Datenstruktur in erster Linie zu ändern, um sorgfältig
über Ihre Probleme nachzudenken , als sich später auf Conversions verlassen zu müssen.
12. Was ist Switch-Case in C Sharp: Schaltergehäuse in C-Sharp Es ist sehr, sehr einfach. Nehmen wir an, wir haben eine Variable. Dieser Fall ist es eine Zeichenfolge und es heißt Name, und es ist mein Name Boden. Sie können sagen, dass es eine Zeichenfolge ist, weil es in doppelten Anführungszeichen ist. Was ist, wenn wir einen Test auf dieser Zeichenfolge durchführen wollen, um zu sehen
, ob dieser Variablenname länger als fünf Buchstaben ist. Das Durchführen von Tests in C-Sharp oder einer anderen Sprache
ist eine ziemlich häufige Aufgabe, weil Sie sehen möchten, was eine Variable ist und dann eine Codeaktion gemäß den Ergebnissen des Tests
durchführen möchten. Traditionell würden wir, wenn sonst dafür verwenden, aber Switch-Case ist viel bequemer, wenn wir viele Optionen durchlaufen haben. Es ist auch viel lesbarer in den meisten Sprachen als wenn sonst. Zunächst einmal geht
die Syntax so, und das ist keine C-scharfe Syntax. Ich habe es gerade vereinfacht, so dass es für Sie leicht zu verstehen ist. Wir haben Schalter und dann haben wir das Ding, das wir uns ansehen. Und in diesem Fall ist es die Länge des Namens, der
Variablen, des Namens Punktlänge. Dann geben wir unten unsere Switch-Case-Anweisungen, eine Reihe von Fällen, um zu sehen, ob es übereinstimmt. Wenn also der Fall, in dem diese Länge gleich fünf ist, führen wir Code aus. Wenn es größer als fünf ist, führen
wir einen anderen Code aus, und wenn es weniger als fünf ist, führen
wir noch ein Stück Code aus. Nun ist es wichtig zu beachten, dass Ihre Fälle alle unterschiedlich sind und alle einzigartig sein sollten. Sie führen also nur einen dieser Fälle gleichzeitig aus. Sie können auch einen Standardfall am Ende des Switch-Groß-/Kleinschreibung haben, so dass es ausgeführt wird, wenn es mit keinem der vorangegangenen Fälle übereinstimmt. Also, das ist alles ein Switched Cases. Testen Sie eine Variable, verwenden Sie das Ergebnis, um einen bestimmten Code auszuführen.
13. Program – Schaltkasten: Richtig, also haben wir unsere Basis-App hier laufen. Wir haben diese Methode, bei der wir die App eingeben und wir haben eine ganze Reihe von Code, um zwei Zahlen von einem Endbenutzer zu nehmen und den mathematischen Operator von ihnen zu nehmen. Jetzt brauchen wir eine Möglichkeit, die Berechnung tatsächlich durchzuführen und ihnen das Ergebnis zu zeigen. Jetzt, nur erwähnenswert, kleine Verknüpfungen, die Sie in Visual Studio haben. Dieses kleine Minus an der Seite hier, ich kann darauf klicken und ich kann kollabieren oder meine Methoden, ich kann Klassen zusammenbrechen. Ich kann Namespaces ausblenden. Also, wenn Ihnen der Platz in einer
bestimmten Seite ausgeht und Sie sollten nicht sein, wenn Sie Ihre Apps gut gestaltet sind. Aber es passiert, weil keiner von uns perfekt ist. Dann kannst du sie treffen, um sie zu verstecken. Es stellt auch sicher, dass Sie die falschen Abschnitte nicht bearbeiten, was öfter passiert, als Sie denken würden, richtig? Scrollen wir nach unten zu dem Bereich, in dem
besagt, dass wir eine switch-Anweisung verwenden, um die Mathematik zu machen. Ich werde all das auswählen. Also habe ich gelöscht und dann werde ich
den Code einfügen , den ich möchte, dass du jetzt pausieren und kopieren sollst. Okay, also hast du das runter. Was wir tun werden, ist, dass wir die Zeile vom Endbenutzer lesen. Also hier oben haben wir gesagt, dass deine Option ist, sie setzen ihre Option ein. Wir lesen diesen Wert und jetzt öffnen wir dies in einer switch-Anweisung. Also werden wir den Wert davon
mit allen Fällen vergleichen , die wir unten aufgelistet haben. Und diese Fälle entsprechen den Briefen, nach denen wir hier oben als MD fragen, richtig? Also haben wir einen Fall ein und für den Fall a, wir werden Zeile das Ergebnis mit Nummer eins plus Nummer zwei schreiben. Nun, hier heißt, wir werden es tun, was ist das Wort, nach dem ich suche? Ich möchte einige Variablen in dieser Zeichenfolge auswerten. Also, anstatt es so zu machen, lass mich dir zeigen, was ich meine. Die klassische Art und Weise, wie Sie dies tun, ist die folgende. Es ist eine Schreibzeile und Sie setzen in Klammern Ergebnis. Und dann gehst du außerhalb der Klammern und du würdest hinzufügen, sagen
wir, num 1. Und wir würden num zwei, et cetera hinzufügen. Oder, oder wir könnten sagen, Plus ist die Antwort. Ok? Also, was Sie dort tun, ist, dass Sie etwas tun, das Verkettung genannt wird,
wo, wenn Sie eine Zeichenfolge hinzufügen, sie einfach nebeneinander
legt, um eine große Zeichenfolge zu erstellen. Diese Version davon ist einfach eine lesbare Art und Weise, es zu tun und weniger facettierten Typ, weil es viele
Anführungszeichen gibt und Sie das wirklich einfach durcheinander bringen können. Vertrau mir, ich habe es getan. Also, dieser Dollar bedeutet einfach, dass wir etwas in
einer Zeichenfolge bewerten werden, wo wir num1 plus num2 haben, die in geschweiften Klammern eingeschlossen sind, ist gleich. Und dann führen wir die eigentliche Ergänzung dort durch, num1 plus num2. Und wir schließen das in Klammern ein, weil wir wollen, dass es es auswertet, bevor es uns etwas zeigt. Ich werde k. jetzt für Fall S, wir werden Subtraktion für m für multiplizieren mit u mal tun. Es ist also nur ein Sternchen. So können Sie alle diese Codezeilen sehr ähnlich sehen, was eine schlechte Sache ist, wenn Sie beginnen, das in Ihrem Code zu sehen, oder wir wollen, ist das zusammenbrechen. Aber wir lernen nur an diesem Punkt. Also waren wir es nicht. Die anderen Worte, die Sie hier sehen werden, ist eine Pause. Break bedeutet, dass wir die Hinrichtung genau dort beenden werden. Also wird das Programm, oder besser gesagt die switch-case-Anweisung aufhören zu evaluieren, richtig? So wird nicht weiter unten in der Liste der Elemente. also zum eigentlichen Schaltgehäuse zurückkehrt, nimmt
Switch im Grunde eine gültige Maßnahme an, die gegen den Fall gilt. Wenn es wahr ist, dann macht es den Code innerhalb dieses Fallabschnitts. Wenn wir also auf unserem Rechner spielen, werden
wir einige Anfragen bekommen, geben Sie eine Zahl für eine weitere Nummer drei ein. Lassen Sie uns multiplizieren, das ist m. Drücken Sie die Eingabetaste. Das ist, wenn der Switch-Fall läuft, und es stellt fest, dass wir M gedrückt haben, also läuft es den Fall für m, das ist 4 mal 3. Drücken Sie eine beliebige Taste, um zu schließen und los geht's. Gerade jetzt Ihre Hausaufgaben, bevor wir zum nächsten Abschnitt gehen, ist es, zu sehen, wie wir dies tun, mit etwas namens „if else“ -Anweisung. Also springen Sie zu Dr. gehen und suchen Sie einfach nach wenn-else in C-Sharp. Denn wenn sonst bietet genau die gleiche Funktionalität wie Switch Case. Aber Switched Cases schöner zu lesen, wenn Sie viele Optionen haben, weshalb ich es Ihnen zuerst vorgestellt habe. Wenn sonst erlaubt es Ihnen, das Gleiche zu tun. Wenn Sie also das Gefühl haben, fahren Sie fort und wiederholen Sie diese Übung, aber ersetzen Sie alle Switch-Case-Zeilen durch if elses. Ich werde Ihnen nicht die Antwort dafür geben, weil das Teil des Lernens ist. Ihr müsst lernen, das selbst zu tun. Alles, was ich sagen werde, ist alles, was Sie ersetzen müssen, ist die erste Zeile. Und diese Zeilen, wo es Fall sagt, können
Sie die tatsächliche Ausführung verlassen, wie sie derzeit steht.
14. Wenn Else in C Sharp: Wenn sonst ist ein sehr wichtiges Konzept in C-Sharp. Und tatsächlich gibt es jede einzelne Programmiersprache von Anfang an. Warum? Weil es Ihnen erlaubt, den Fluss Ihres Programms zu diktieren. Also lassen Sie uns ein Beispiel dafür sehen. Nehmen wir an, wir haben einen Variablennamen
, der eine Zeichenfolge ist, die meinem Namen entspricht. Grant, was ist, wenn wir einen Test für diese
Variable durchführen wollen , um zu sehen, ob sie länger als fünf Buchstaben ist. Nun, das ist, wo, wenn sonst kommt in das Bild, wenn der Name Punktlänge. Das ist also nicht genau die C-Sharp-Syntax. Ich habe hier nur alles aus Einfachheit gekürzt. Wenn die Länge des Namens gleich 5 ist, bedeutet
das Doppel gleich gleich gleich, dann werden wir etwas anderes tun. Wenn die Namenslänge größer als fünf ist, werden
wir etwas anderes tun. Sonst, wir werden eine letzte Option machen. Was, wenn es sonst tut, ist es Ihnen zu erlauben, das Ding zu vergleichen, das Sie gerade betrachten. Also die Länge des Namens mit einigen Werten, die Sie hier vorprogrammiert haben. Also fünf, mehr als fünf. Und dann erlaubt es Ihnen, etwas auszuführen. Jetzt, sobald Sie eine if else Anweisung durchlaufen haben, wird
das allererste, was übereinstimmt, das Ding sein, das den Code
ausführt und nichts anderes wird ihn ausführen. Einige Sprachen ermöglichen es Ihnen, eine endgültige Ausführungsanweisung zu haben, aber nicht C scharf, soweit ich mich erinnern kann. Oder wenigstens habe ich es nie benutzt. Also, aber es ist wichtig zu wissen, dass Sie nur eine dieser Anweisungen ausführen werden. Wenn Sie durchgehen und nichts ausgeführt wird, wird es ausgeführt, was sich im unteren Abschnitt befindet, dem else Abschnitt. Die andere Sache erwähnenswert ist, dass Sie einfach eine if-Anweisung von selbst haben können. So können Sie das schnelle haben, wenn der Name Punktlänge
52 gleich ist , was Sie nicht brauchen. Und Sie können eine beliebige Anzahl von anderen wenn, die Sie mögen, aber Sie können nur eine andere haben.
15. Was ist ein Bug in C Sharp: Also, was ist ein Bug in C-Sharp? Nun, sagen wir, Sie haben ein Stück Software, die Sie erstellen. Und dieses Stück Software hat einen Haufen Code. All diese Code-Bits in Ihrer Software interagieren ständig miteinander. Sie tun Dinge, sie senden Daten hin und her. Idealerweise machen
wir diese Dinge auch in einem Softwareentwickler zu einem Designmuster und einer strengen Spezifikation, so dass wir Probleme vermeiden. Aber in Wirklichkeit passiert das nie wirklich. Ein 100 Prozent und 90 Prozent Entwickler, würde
ich sagen, ist ein guter Entwickler,
jemand, der 90% des Weges dorthin bekommt. Was dazu neigt, damit zu passieren, ist, dass Sie unerwartete Ergebnisse erhalten. Nehmen wir an, Sie holen Daten vom Server. Du erwartest ein paar Daten zurück. Ihre Software gibt Ihnen keine Daten. Also überprüfen Sie die Verbindung. Die Verbindung ist in Ordnung, und das bedeutet, dass es irgendwo in Ihrer Software einen Fehler oder einen Fehler geben muss. Das ist also im Grunde, was ein Bug ist, es ist ein Fehler. Was jetzt viel wichtiger ist als das, was ein Fehler ist,
ist, wie man sie vermeidet. Wie oder was man als Softwareentwickler denken sollte, damit man nicht in dieses Chaos geraten kann. Wenn Sie mit der Softwareentwicklung beginnen, werden
70 bis 90 Prozent Ihrer Zeit damit verbracht, Fehler zu beheben. Wie du weitermachst. Das ist schrumpft auf vielleicht 50 Prozent, 30 Prozent, aber ich würde sagen, dass es dort liegt. 30% Ihrer Zeit wird damit verbracht, Fehler zu beheben. Bei der ersten Veröffentlichung werden während der gesamten Lebensdauer Ihrer App Fehler auftreten. Es ist nur etwas, das Sie akzeptieren müssen. Also, wie vermeidest du sie überhaupt? Nun, der Grund, warum Leute Fehler bekommen, ist, dass sie Code nicht verstehen. So gehen sie weiter, zum Beispiel StactOverflow, sie finden die Codezeile und fügen sie einfach in ihre App ein. Aber dann wissen Sie auch den Kontext um diesen Code herum und was er tut, je nachdem, wo Sie ihn gesetzt haben, denn das kann eine Wirkung haben. Also die Abkürzung dafür ist RTL fm, was bedeutet, das etwas Handbuch zu lesen, oder? Das bedeutet, lesen Sie die Dokumentation, verstehen Sie, was Sie in Ihre App einfügen. Die zweite Sache ist schlechte Architektur. Also sind all diese Code-Bits, die miteinander On sprechen, keine gute Sache. Wenn Ihre Architektur schlecht ist, oder? Wenn Sie eine Architektur von MVVM haben, was Model-View-ViewModel oder MVC bedeutet, Model-View-Controller. Es gibt Tonnen von anderen Architekturen, nicht nur für Ansichten, sondern für alles wirklich. Sie müssen sich daran halten und es weiter verstehen. Also, das kommt zurück zu der ersten verstehen Architektur und dann wenden Sie es streng auf Ihre App an und Sie werden wirklich die Anzahl der Fehler reduzieren. Die letzte Sache, der letzte Grund, warum Leute viele
Fehler bekommen , ist, dass sie zu viel in ihrer Software tun. Oder genauer gesagt, sie tun zu viel in einem einzigen Stück Code. Ein klassisches Beispiel ist, dass Sie eine Ansicht haben, in der Sie eine Liste von Elementen auf iOS anzeigen, zum Beispiel mit Xamarin für C scharf. Sie werden also auch Ihren Server-Code abrufen. In dieser Ansicht. Das Problem ist, wenn Sie von dieser Ansicht weggehen, wird
der Ansichtscode beendet, gelöscht und entfernt. Also wird Ihr Servercode, wo Sie Sachen holen, auch entfernt. Wenn Sie also das nächste Mal die Ansicht laden, erwarten
Sie möglicherweise, dass Sie eine Liste anzeigen, Ihre Liste der Serverdaten hat auf
eine bestimmte Weise gescrollt und es wird eine andere Seite mit Daten abgerufen. Aber in Wirklichkeit beginnt es den ganzen Prozess wieder. Das wäre also ein klassischer Fehler, wenn man zu viel im selben Code macht. also nicht. Wann immer Sie einen Code haben, setzen Sie einige Kommentare an die Spitze des Codes und sagen Sie, was ich mit diesem Code mache, ist x, y, z Ich zeige nur die Ansicht. Ich bekomme keine Daten von einem Server oder der Datenbank oder was auch immer es ist. Tu also nicht zu viel und das erinnert mich daran, dass ich Schlittschuhlaufen mache. Einer meiner Trainer von vor vielen Jahren hatte eine Phrase, die in meinem Kopf
stecken und er sagte immer weniger ist mehr. Und das gilt auch für die Softwareentwicklung.
16. Bugs und Number: Es ist an der Zeit, den Fehler zu korrigieren, den wir zuvor gesehen haben. Wenn wir also unsere App ausführen und eine Art Nummer wie sechs eingeben, teilen
wir sie durch sieben. Die Antwort, wenn wir Divide auswählen, wird 0 sein. Das ist eindeutig nicht wahr. Es ist mehr wie 0,9 oder was auch immer die Antwort ist, 0,9 etwas, 0,8, etwas. Dieser Fehler ergibt sich aus der Tatsache, dass wir Ganzzahlen für unsere Variablen verwenden. Und ganze Zahlen speichern nur ganze Zahlen. Also möchte ich, dass du das Video jetzt pausierst, und ich möchte, dass du das Problem im Code behälst. Ich habe Ihnen ein Video über den Unterschied zwischen Integer-Float und Double gezeigt. Ich habe dir auch gezeigt, dass du die beiden nicht mischen kannst, wenn du Berechnungen machst. Also ich möchte, dass Sie losgehen,
herausfinden, wie Sie dieses Problem beheben können, das Video jetzt
anhalten und dann komme ich mit einer Lösung zurück. Also, wie bist du durchgekommen? Nun, wenn Sie einfach einen Float hier ersetzen und ich hier schwebe, dann ist das ziemlich alles, was wir tun müssen, denn hier unten, wenn
wir den Anfang erarbeiten, berechnen wir
das Ergebnis nicht wirklich und speichern es dann in einem -Variable, die sie berechnet. Standardmäßig wird sich dies automatisch einem Float im temporären Speicher
zuweisen. Wenn wir es berechnen würden, würden
wir so etwas wie Float sagen. Unsere Antwort ist gleich was auch immer num 1 plus num 2. Und das würde uns
natürlich automatisch einen Schwimmer geben, oder? Aber so machen wir es nicht. Wir wiederholen Code, den wir nicht sollten, aber wir werden das später,
zu einem späteren Zeitpunkt beheben . Also, das ist im Grunde alles, was Sie tun müssen. Nun, wenn Sie das folgende Double und Double geschrieben
haben, sollten Sie in Ordnung sein, denn wieder, ein Double ist nur eine genauere Zahl, viel genauer als ein Float. Zum Beispiel. Die Genauigkeit der Zahlen ist kein Problem auf einem Desktop-Computer, da uns so viel Strom zur Verfügung steht. Wenn Sie nun
zum Beispiel auf der Apple Watch laufen , einer Smartwatch irgendeiner Art, dann müssen Sie sich bewusst sein wie viel Verarbeitungsleistung bestimmte Dinge benötigen, damit Sie den Spott nicht überschreiten, zerstören Sie Ihre Benutzer Patreon Leben durch übermäßige Verwendung der CPU, die auch verlangsamt Ihre App. Also auf Desktop-Software, verschiedene Arten von Feinkost, müssen
wir nicht wirklich über die Konsequenzen nachdenken. Aber auf begrenzten Geräten oder Programmen, die sehr, sehr schnell arbeiten müssen, müssen
Sie sich der Vor- und Nachteile bestimmter Typen bewusst sein.
17. Bugs, die Crashen und User verursachen: Alles klar, es ist Zeit für einen Fehler, den wir noch nicht gesehen haben, und einen Hinweis, um Ihnen diesen Fehler zu zeigen. Ich habe die beiden Typen von num1 und num2 zurück zu Ganzzahlen geändert. Offensichtlich können Sie es als Doubles und
Floats belassen , wenn Sie möchten, dass Ihr Kalkül korrekt funktioniert. Der Grund, warum ich es zurückgeändert habe, ist, dass Sie den Fehler nicht sehen
können, wenn Sie ein Double oder Float verwenden. Und dieser Fehler, wenn wir die App ausführen, hat mit der Division durch 0 zu tun. Also, wenn wir sagen, sechs geteilt durch 0, wir bekommen einen Absturz. Also tötet sich das ganze Programm selbst. Und Visual Studio sagt uns, wo dieser Absturz passiert ist, welche Codezeile und bringt uns dazu. Und es sagt uns, dass wir eine Ausnahme hatten, die versucht wurde, durch 0 zu teilen, ein Systempunkt dividieren durch 0 Ausnahme. Jetzt bekommst du das nicht mit Float und Double. Ich glaube, du bist es schon vor vielen Jahren gewöhnt, aber das hat sie offensichtlich verändert. Also müssen wir einen Weg finden, um das zu verhindern. Denn was wir tun müssen, lassen Sie uns einfach aufhören, dies zu laufen mit Shift F3. Nun, wir müssen tun, ist die Benutzereingabe zu reinigen. Dies ist also wirklich Teil Ihres User Experience Designs. Wenn Sie Google nach UX suchen, können
Sie alles über UX lernen ist ein tiefes, faszinierendes Thema. Und jedes Mal, wenn Sie sich bei Facebook einloggen und scrollen, das ist der UX Maestro bei der Arbeit, die Ihre Aufmerksamkeit erregt und Beine bezeichnen. Ich weiß, dass es funktioniert, weil du nicht aufhören kannst zu scrollen, oder? In der Tat, Ich habe tatsächlich eine Erweiterung auf Chrome installiert, die den Facebook-Feed blockiert ist. Und dann bemerkte ich, dass ich immer darauf hineinging und ich wusste nicht warum. Es ist, weil sie Benutzererfahrung war so mächtig, dass ich im Grunde süchtig war, wie jeder ist in diesen Tagen. Und das hilft, den Rücken zu brechen. Also jetzt gehe ich sowieso nicht wirklich auf Social Media und komme zurück zu dem Thema. Also, was wir hier tun wollen, ist, dass es nur wirklich teilt, wo das passieren wird. Wenn wir addieren, subtrahieren und multiplizieren 0 ist nicht wirklich wichtig. Es ist nur eine Kluft, wo es ein Problem ist. Also, was wir hier tun werden, ist, was man eine while-Schleife nennt. Jetzt wird diese Schleife um und Runde gehen und ausführen was hier drin ist, solange eine bestimmte Bedingung wahr ist. Jetzt normalerweise sage ich, wir mögen es nicht, while-Schleifen zu verwenden. Sie sind irgendwie gefährlich, es sei denn, du weißt, was du tust. Aber in diesem Fall ist
es tatsächlich eine nützliche Lösung und es ist nicht so
gefährlich, denn während Schleifen können Sie in einer Schleife stecken, die rund und rund geht. Wenn Sie vergessen, eine Codezeile einzugeben, die Ihnen von der Lippe entkommt. Alles klar, was machen wir in dieser while-Schleife? Während Zahl zwei gleich 0 ist? Wir werden dem Benutzer mitteilen, bitte geben Sie einen Divisor ungleich Null ein. Und dann werden wir num auf,
auf das neue Element setzen , das sie eingeben. Also lasst uns das ausprobieren. Rechner 60, dividieren, geben Sie einen ungleich Null Divisor 0 ein, und es wird nur diese Schleife umrunden, solange ich 0 drücke, wenn ich etwas anderes drücke, bekomme
ich die Antwort, die ich will. Okay, also haben wir diesen Benutzereingabefehler im Grunde gelöst. Okay, ich denke, das ist alles, was es wirklich zu sagen gibt, außer der Tatsache, dass ich nur noch
eine Demonstration für dich machen werde , wenn wir diese zurück in Schwimmer ändern, die wir natürlich behalten werden, weil wir wollen, dass der Rechner arbeiten, dann brauchen wir nicht wirklich alle diese Zeilen. Ok? Also, wenn ich die entferne und es führe, schau zu, was passiert. Wenn ich durch 0, 6, 0
divide, erhalten wir das Symbol für die Unendlichkeit. Das funktioniert also, wenn wir einen Float verwenden. Ok? Ich werde das in lassen, weil wir es nie verwenden wollen, um durch 0 zu teilen. Die meisten Taschenrechner erlauben es nicht wirklich.
18. Was ist Refactoring, die sich in C Sharp: Refactoring. Viele Leute wissen , dass Refactoring etwas mit dem Verschieben von Code zu tun hat, aber sie wissen nicht, warum wir es tun oder warum es tatsächlich notwendig ist. Also werden wir das hier besprechen. Zunächst einmal, sagen wir, wir haben einen Code. Und in der App-Entwicklungswelt, zum Beispiel in iOS, das einer der Orte ist, an denen ich begonnen habe, haben
Sie Code, um Dinge zu zeigen, und in iOS heißt es ViewController. Dinge haben sich etwas davon bewegt,
aber die Leute verwenden immer noch das ViewController-Konzept. Wir haben eine Reihe von Code drin und die Versuchung besteht darin,
Code einzugeben , der nichts mit dem ViewController zu tun hat. Etwas mit dem Abrufen der Daten zu tun, die im ViewController angezeigt werden sollen. Jetzt solltest du das nicht wirklich tun. Du solltest die Dinge trennen. Aber in Wirklichkeit, als Entwickler ein faul manchmal werfen wir einfach eine Methode in und sagen, es wird in Ordnung sein. Dafür muss ich keine ganz neue Klasse machen. Ich werfe es einfach in den Code. Was am Ende passiert, ist, dass wir eine ganze Reihe von nicht verwandten Funktionen zur ursprünglichen Klasse haben. Also in der Zukunft, wenn es einen Fehler gibt, bei dem durch alle Klassen springen versucht zu entschlüsseln, wo wir bestimmte Dinge falsch gemacht haben. Aber es macht diesen Job viel, viel schwieriger, wenn der Code nicht ordentlich und bestellt ist. Also, wie nennen wir das? Nun, ein GB FM, das ist ein großes großes leeres Chaos, und ich bin sicher, Sie können das Leerzeichen darauf ausfüllen. Das ist, wenn Refactoring in die Gleichung kommt. Refactoring bedeutet einfach, diesen Code zu nehmen und ihn in seine konstituierenden Elemente aufzuteilen. Also, wenn ich einen großen Codeblock mit etwas mit der Ansicht zu tun habe und Themen mit dem Abrufen von etwas von einem Server tun. Was ich gemäß dem unteren Diagramm tun würde, ist es in nur Ansicht aufzuteilen. Und eine andere Klasse, um nur Sachen vom Server zu holen. Also ist alles schön und getrennt. Die Schnittstelle zwischen den Klassen ist klar. Wenn ich also in sechs Monaten zurückkomme, um meinen Code zu überprüfen und alles über meinen Code
vergessen habe , denn egal wie gut du bist, vergisst
du deinen Code. Wenn alles ordentlich überprüft wird, können
Sie zurückkommen und sofort oder fast sofort erfassen, was vor
sechs Monaten vor sich ging , als Sie diesen Code geschrieben haben und reparieren, was repariert werden muss oder was geändert werden muss. Das ist also Refactoring, Sortieren von Sachen in logische Bereiche.
19. Refactoring – Kurseinheiten für Lessons: Richtig, du hättest dir
ein schnelles Video ansehen sollen, was Refactoring ist und worum es geht. Aber nur für den Fall, dass Sie es aus irgendeinem Grund nicht getan haben, passiert
Refactoring im Grunde, wenn wir viel Code in
unsere verschiedenen Codedateien einfügen und zu einem späteren Zeitpunkt entscheiden, dass es zu verstopft ist, passiert
zu viele Dinge in jeder Datei. Und was wir tun wollen, ist diese
Funktionalitäten irgendwie in ihre eigenen Klassen zu trennen . Was wir also tun werden, ist, dass wir
diesen Berechnungsbereich im Grunde entfernen und ihn in seine eigene neue Klasse bringen. Also unter dem Namespace des Rechners werde
ich Folgendes einfügen. Ich werde das nur tun, damit wir alles auf einem Bildschirm sehen können. Also, was ich es einfüge, war eine Klasse namens Calculator. Und diese Klasse hat eine statische Operation. Ich habe noch nicht statisch mit dir abgedeckt, aber für die Zwecke des Lernens werden
wir Sachen einfach statisch hinterlassen. Diese Klasse oder diese Methode eher diese öffentliche statische Methode zurückgibt. Wenn Sie also einen Typ sehen, der vor dem Methodennamen deklariert ist, wird in diesem Fall double vor der Operation deklariert. Es bedeutet, dass Sie ein Double von dieser Methode zurückgeben werden. Also wirst du etwas tun und dann eine Nummer zurückgeben. Do operation ist der Name der Methode. Und wir werden die Nummer eins,
Nummer zwei, und die Zeichenfolge, die die Operation darstellt, übergeben . So multiplizieren, addieren, subtrahieren und teilen. Also geh weiter und kopiere das nach unten. Sie können das Video jederzeit pausieren, um dies zu tun. Ich rede einfach weiter, weil du es jederzeit pausieren kannst. Wir haben eine Variable wird das Ergebnis unserer Antwort speichern, die derzeit auf ein Double gesetzt ist. Also werden wir von nun an alle unsere Zahlen als Tupel haben weil es der genaueste Typ ist, den es gibt und dies ein Taschenrechner ist, daher ist Genauigkeit wichtig. Double-dot nan, nan bedeutet nicht eine Zahl in so ziemlich allen Programmiersprachen. Was wir hier tun, ist, dass wir sagen, dass es noch keine Nummer gegeben hat. Und
wenn wir versuchen, dieses Ergebnis jetzt zurückzugeben, denke
ich, dass wir einen Fehler bekommen sollten. Also, wenn ich hierher gehe und sage, das Ergebnis zurückzugeben, bitte. Erhalten wir einen Fehler? Wie sich herausstellt, tun wir es nicht, weil es immer noch vom Typ Double ist. Es ist einfach keine Nummer. Ok. Nun, ich war ein lustiges kleines Experiment. Ich wusste nicht mal, dass es das machen würde. In Ordnung, also doppelter Punkt n. Dann haben wir den Schalterfall, der den Operator nimmt, den wir hier oben übergeben haben. Und wir laufen durch die vertraute Schleife, wo wir Fall eine SMD haben. Wir setzen das Ergebnis als was auch immer die Summe ist oder die Subtraktionsmultiplikation in hier. Wenn wir num zwei ist ungleich 0, dann wird das Ergebnis num1 geteilt durch num2. Ok? Sonst wird es brechen. Es wird also nichts tun. Nun fragen Sie sich vielleicht, warum wir hier nicht nach Benutzereingaben fragen. Das liegt daran,
dass wir beim Refactoring diese einzelnen Elemente in verschiedene Teile des Codes trennen möchten. Also Klasse des Rechners tut buchstäblich eine Sache oder eine Gruppe von Dingen, die Antworten zu berechnen ist, oder? Es gibt keine Eingabe, es gibt keine Ausgabe. Es nimmt nur die Zahlen ein und spuckt einige Zahlen aus. Und schließlich habe ich das nicht mit dir gemacht, aber im Switch-Fall können Sie einen Standard haben. Also, wenn nichts übereinstimmt, wird
es einfach brechen und nichts davon zurückgeben. Und dann die, in diesem Fall, würde
es den doppelten Punkt ANN zurückgeben kennt die Zahl. Okay, das ist also der erste Refactor, den wir hier machen werden. Wenn ich also etwas verkleinere, kannst
du das Ganze in seiner Gesamtheit sehen. Es ist also ein wenig klarer. Also im Namensraum des Rechners, und ich glaube, dass ich dir das in einem Video gezeigt habe. Wir werden die Klasse des Rechners haben, nur Berechnungen durchführt und einfach ein Double zurückgibt, was bedeutet, dass wir jetzt hier unten bereit sind, all
diesen Switch-Case-Code zu entfernen und den Refactoring-Prozess mit diesem Haupt -Methode, bei der wir es mehr darauf konzentrieren, Benutzereingaben zu erhalten und Dinge auszugeben und dann dieses Rechnerproblem an die gerade erstellte Rechnerklasse zu entladen.
20. Die Hauptprogramm verfeinern: Richtig, es ist Zeit, unser Hauptprogramm neu zu gestalten, da wir jetzt eine Klasse
hinzugefügt haben , um die Rechenoperationen durchzuführen, also brauchen wir eindeutig nicht alles, was hier unten ist. Also, was ich tun werde, ist, dass ich hier
alles entfernen werde, und ich werde wieder mehr oder weniger anfangen. So können Sie sehen, was vor sich geht, viel deutlicher, ich werde einen Code einfügen, um mit dem zu beginnen. Also dieser Code, vor allem, haben
wir die Konsole richtige Zeile, die dem Benutzer sagt, was es ist, das von vorher ist. Also hatten wir das. Ich werde diesen Kommentar hier oben entfernen. Aber darüber ist der wichtige Bereich, sie wichtige Variable, die sicherstellt, dass unsere App läuft. Also haben wir einen booleschen Wert, der ein true oder false ist und die app-Variable. Und dann hier unten in der Zeit nicht enden, werden
wir unsere Programme weiter laufen. Also, ich, während das Ende falsch ist. Wir werden weiter zu dieser while-Schleife gehen. Wenn der Benutzer also eine zweite Berechnung durchführen möchte, dann sind sie herzlich eingeladen. Im Moment bekommen wir hier einen roten Bereich, weil es weitere Schließung einer geschweiften Klammer
erwartet. Was habe ich hier verpasst? Willkommen beim Debuggen 101. Das ist also das. Wir haben einen Verschluss, den wir bekommen, was wir wollen. Okay, das ist jetzt alles gut. Also wird all unsere Aktionen wirklich in dieser wilden Schleife stattfinden, richtig? Also innerhalb der while-Schleife, werden
wir den folgenden Code haben. Wenn Sie es kopieren müssen und gehen Sie voran und pausieren Sie jetzt und holen Sie den Code herunter. Ich werde es hervorheben, damit Sie es ein wenig leichter sehen können. Also, wenn du das runter hast,
lasst uns anfangen, es durchzugehen. Ich werde nur vergrößern, um es einfacher zu betrachten. Zunächst einmal ändern wir das Eingabeschema, oder? Denken Sie also daran, wenn wir Text auf der Konsole eingeben, kommt
er automatisch als String-Typ zurück, nicht als Zahlentyp. Also, was wir tun werden, ist, dass wir diese Eingabe ergreifen und wir werden
es entsprechend nennen Eingabe eins und Nummer zwei Nummer. Im Moment gibt es nichts, also stellen wir sie einfach leer. Und dann wird unser Berechnungsergebnis 0
sein, weil das aktuelle Ergebnis ist. Dann geben wir dem Benutzer einige Anweisungen, um eine Nummer einzugeben und die Eingabetaste zu drücken. Wir lesen das in den Zahleneingang eins. Und dann werden wir eine andere Variable namens Claim Number 1 erstellen, bei der es sich um ein Double handelt, das derzeit auf 0 gesetzt ist. Und was wir in den nächsten paar Zeilen versuchen werden, ist, die Eingabe zu nehmen und sie in
die saubere Nummer eins zu setzen. Also, was wir hier tun, ist, dass wir in
die Double Klasse kommen und wir werden versuchen, sie zu pausieren. Nun, pausieren bedeutet nur, dass wir
es lesen und dann versuchen, es im Grunde in das Doppelte zu stecken. Also Stative, wenn ich das austippe, sollten
wir diese winzigen Texte bekommen. Tut mir Leid. Das besagt, dass Stative an uns keine Hinweise geben, was es tut. Da gehen wir. Konvertiert die Zeichenfolgendarstellung einer Zahl in ihre Gleitkommazahl mit doppelter Genauigkeit.
Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich oder fehlgeschlagen ist. Also wird es eine Eingabe nehmen und dann wird es versuchen, num eins zu säubern. Mach dir vorerst keine Sorgen um dieses Schlüsselwort. Das ist eine Art späteres Thema, das wir behandeln werden. Aber das ist im Grunde die Syntax der Anweisung. Also, während dies falsch ist, dann werden wir dem Benutzer zeigen, dass dies keine gültige Eingabe ist, geben
Sie bitte einen ganzzahligen Wert ein. Und dann werden wir versuchen, das noch einmal zu lesen. Sobald wir es gelesen haben, geht es
hier zurück und wir wiederholen den Vorgang, bis sie es richtig machen. Jetzt glaube ich nicht, dass ich Integer-Wert schreiben würde. Ich gebe eine gültige Nummer an. Ok? Also, wenn wir das durchgemacht haben, diese kleine Straßensperre, was wir tun werden, ist Konsolenpunkt-Schreiben. Wir geben eine andere Nummer ein und drücken die Eingabetaste. Also wieder, der gleiche Prozess, aber wir tun es für die Zahleneingabe genau dasselbe mit try pass, genau das gleiche mit der Konsole, richtig? Außer, dass ich dies auch folgendes ändern werde. Okay, also haben wir unsere Eingaben und wir haben sie auf dem Weg gereinigt. Jetzt ist es erwähnenswert. Was wir hier tun, ist Refactoring. Wir verdichten unseren Code, setzen ihn in logische Blöcke, logische Bereiche. Ich wette, Sie können bereits sehen, dass wir Code hier und hier wiederholen. Also diese Dinger, das sind Kandidaten, die
tatsächlich in verschiedene Bereiche ausziehen könnten , oder? Sie könnten in ihre eigene Klasse gehen. Es könnte eine Eingabebereinigungsklasse genannt werden, was, wie auch immer Sie es nennen wollen. Okay, also auf den nächsten Teil dieses Codes. Also werde ich das einfach einfügen und hervorgehoben. Sie können erneut pausieren und kopieren. Richtig? Das ist also sehr ähnlich zu dem, was wir vorher hatten. Wir fragen nur, dass der Benutzer einen Operator
aus der folgenden Liste auswählt und er ASM D Und dann lesen wir natürlich diese Zeile. Das wird also in einer Zeichenfolge namens Operatorzeichenfolge gespeichert. Wenn wir nun wieder nach oben gehen, wo wir unsere Operation erstellt haben, werden
Sie feststellen, dass wir die Zeichenfolge hier oben übergeben. Das ist also, wo das irgendwann ausgewertet wird, oder? Also wieder unten unten unten. Das nächste, was wir tun werden, ist, notieren , dass diese Berechnung auf seltsame Weise fehlschlagen könnte. Was wir hier haben werden, nennt man eine try catch-Anweisung. Ok? Und was try-catch tut, ist das Folgende. Was auch immer Code, den ich in der try-Anweisung ausführen wollte,
wenn er fehlschlägt, wenn er einen Absturz verursacht, wenn er als Null-Wert zurückkommt, wenn etwas seltsam passiert, das das Programm nicht erwartet. Ich bin Betrüger. Es fängt das, anstatt
das ganze Programm zu zerstören und bringt Sie stattdessen zu diesem Codeblock. Und diese Ausnahme e sagt Ihnen genau das, was schief gelaufen ist. So. Es ist edel zu denken, dass Ihre Software niemals abstürzen wird. Wenn Sie wirklich, wirklich schlau sind
, können Sie Dinge programmieren. Also passiert in der Realität nichts Schlimmes. Das ist nicht wahr. Und es gibt Zeiten, in denen Sie das nicht vermeiden können, okay, es ist nur, wie die Dinge in der Bibliothek codiert werden, die Sie verwenden möchten, in dem Online-Dienst, den Sie verwenden möchten. Und so muss man einen Versuchsfang haben. Versuchen Sie Fänge. Eines der nützlichsten Dinge in C Sharp, aber auch die am meisten überverwendeten Dinge. Um ehrlich zu sein, benutzen die Leute sie überall, aber man sollte sie sparsam benutzen. Und für die besonderen Fälle,
in denen es einen Absturz geben wird. Da drin sind wir eigentlich bereit, unsere Berechnung durchzuführen. Nun, im Abschnitt versuchen, werden
wir folgendes haben. Wir werden diese Ergebnisvariable setzen, wie der Rechner Operation tun, und wir übergeben die beiden Zahlen und den Operator in. Das wird uns unser Ergebnis einfach genug geben. Nun, wenn Sie neu in C scharf oder neu in der objektorientierten Programmierung sind, was Sie erwarten würden, wenn Sie nur durchsuchen und den Code der
Leute ist, neuen Rechner,
Punkt, tun, Operation usw.
zu sagen , neuen Rechner,
Punkt, tun, Operation usw. was Sie erwarten würden, wenn Sie nur durchsuchen undden Code der
Leute ist, neuen Rechner,
Punkt, tun, Operation usw.
zu sagen dass in diesem Fall, dass wir gerade in die Klasse gehen, weil alles statisch ist. Statisch bedeutet, dass die Methode zur Klasse gehört und nicht zum Objekt. Wenn Sie jetzt immer noch über Klassen und Objekte verwirrt haben, machen Sie sich keine Sorgen. Also, wie ich für ja, tatsächlich, je mehr Sie es tun, desto mehr werden Sie sich an die Idee gewöhnen, dass Klassen Objekte machen. Klassen können aber auch ihr eigener separater Speichercontainer sein. Ok, genug davon. Was passiert also, wenn das Doppel keine Zahlen ist? Denken Sie daran, dass wir die DoubleTree nicht eine Zahl in der Rechnerklasse setzen. Nun, dann können wir dem Benutzer einfach sagen, dass Ihre Operation zu einem mathematischen Fehler führt. Ok? Andernfalls sagen wir dem Benutzer, dass Ihr Ergebnis ist, und wir werden sehen, worauf dies am Ende hinausgeht. Schreib. Das eine, was wir hier unten hinzufügen müssen, ist eine Nachricht an unseren Endbenutzer. Und eine Ausnahme ist aufgetreten. Und wir werden ihnen sagen, was es war. E.Me. Also, dass e die Ausnahme
ist, die hier übergeben wird und die eine Nachricht
enthält, die Ihnen in einfachem Englisch sagt, was passiert ist. Nun, ich sage einfaches Englisch, aber Programmierer mögen kein einfaches Englisch. Ich wünschte, sie würden es manchmal tun. Wie auch immer, das wird dem Endbenutzer sagen, was passiert. Also, wenn wir das durchlaufen haben, ist
alles, was noch zu tun ist, den Endbenutzer zu fragen, was willst du jetzt tun? Also fügen wir den folgenden Code ein. Wir haben nur einen netten kleinen Terminator gesetzt, der dem Benutzer
mitteilt, dass wir am Ende dieser Operation sind. Dies wird warten, bis der Benutzer reagiert. Drücken Sie also N und Eingabetaste, um die App zu schließen, oder drücken Sie eine andere Taste, um fortzufahren. Und dann, wenn wir die Zeile lesen und es Ende sagt, werden
wir Ende App gleich wahr setzen. Nun, wenn Sie das noch nie gesehen haben, wenn sonst in der gleichen Zeile, können
Sie das tun. Das bedeutet, dass Sie Ihre geschweiften Klammern nicht so hinzufügen müssen. Wenn Sie eine einzelne Senke, einzelne einfache Anweisung für nur ein if oder tatsächlich ein else haben, dann könnten Sie Ihre nächste Anweisung in derselben Zeile haben. Das ist also nur ein praktischer kleiner, zeitsparender Tipp. Und wenn n die App wahr ist, was passieren wird, ist oben an der Spitze, wir werden aus dieser while-Schleife geworfen werden. Ok? Wenn es nicht stimmt, geht
es zurück nach oben und geht weiter. Dies setzt einfach ein Leerzeichen, einen Wagenrücklauf, wenn Sie möchten. Also werde ich das alles jetzt durchmachen. Wo sind wir auf diesem Abschnitt? Nach der Weile werden
wir die App beenden. Aber wenn wir aus der while-Schleife rausgeworfen werden, wollen wir
eigentlich nur zurückkehren und sagen, dass es das ist. Ich habe genug gehabt. Zurück gehen wir. Also, wenn ich jetzt auf dem Taschenrechner-Symbol oben auf spielen, geben Sie eine Zahl sechs ein. Ich werde versuchen, einen Buchstaben H einzugeben, keine gültigen Eingaben. Versuchen wir es fünf. Fügen wir sie hinzu. Und das Ergebnis ist 11. Drücken Sie N und Entität schließen Sie die App oder drücken Sie eine beliebige Taste und Enden, um fortzufahren. Richtig, damit wir eine Nummer eingeben können. Also lasst uns 670 versuchen. Teilen. Ihre Operation führt zu einem mathematischen Fehler. In diesem speziellen Fall haben
wir dieses Unendlichkeitssymbol loswerden. Und wir haben dem Endbenutzer gesagt, dass Sie nicht durch 0 teilen können. Im Grunde haben wir das Standardverhalten überschrieben, indem wir Folgendes ausführen. Also, wenn die Zahl nicht gleich 0 ist, wird ein Ergebnis geben. Wenn es gleich 0 ist, dann geben wir das Ergebnis zurück, das wir als Doppelpunkt keine Zahl
gesetzt haben . Okay, das ist also das ganze Hauptprogramm, komplett umgestalten. Und jetzt nehme ich an, wenn du ein paar Hausaufgaben machen wolltest, werde
ich das nicht im Kurs machen. Finden Sie einen Weg, um diese in eine andere Klasse zu bringen. C, du wiederholst diese Eingabe nicht, all diese Eingabezeilen und was hast du, weil sie sehr, sehr ähnlich sind. Also denke ich, dass Sie tatsächlich einen Weg finden könnten, das irgendwie zu verdichten. Noch einmal, ich werde Ihnen nicht zeigen, wie völlig freiwillige Hausaufgaben für Sie. Wenn du es tun willst.
21. KURSPROJEKT: Richtig, es ist Zeit für Ihre Klassenprojekte jetzt, was ist Ihr Projekt? Nun, es ist, eine einfache Konsolen-App zu erstellen, die sehr ähnlich ist wie die, die wir zusammen in dieser Klasse erstellt haben. Aber was ich will, dass du es machst, ist eine kleine Drehung drauf zu machen. Was ich möchte, dass Sie eine App erstellen, mit der Sie Verkäufe addieren können. Zum Beispiel, $4,5 Dollar plus $2, et cetera. Sobald Sie diese Verkäufe addiert haben oder jedes Mal, wenn Sie einen weiteren Verkauf hinzufügen, möchte
ich, dass das Programm automatisch eine laufende Gesamtsumme
anzeigt, damit Sie den Benutzer nicht fragen müssen. Es sagt ihnen automatisch, was sie laufen insgesamt ist. Und das mag einfach erscheinen, aber das ist die Grundlagen von so etwas wie einer Buchhaltungs-App, die einen laufenden Gesamt verfolgt. Das ist also das grundlegende Projekt und ich möchte, dass du das von Grund auf aufhörst. Sie können gehen und konsultieren Sie die Videos, die wir zusammen gemacht haben. Sie können die Software konsultieren, die wir gerade zusammen gemacht haben, aber es ist immer besser, wenn Sie die Dinge von Grund auf neu ausführen. Du bist also gezwungen, dein aktives Gedächtnis zu nutzen, um dich zu erinnern, wie man diese Dinge tatsächlich macht, richtig? Wenn das zu einfach ist und du es in ein paar Minuten machst, dann habe ich ein fortgeschritteneres Projekt für dich. Und das ist, um der App eine zweite Ebene hinzuzufügen, die Korrekturen ermöglicht, zum Beispiel minus $6 oder minus $10. Und Sie können sehen, ob dies eine Buchhaltungs-App ist, das sind
die beiden Seiten der Buchhaltungsmünze. Du hast dein Einkommen und du hast deine Verkäufe. Nein, Sie haben keine Umsatzeinnahmen. Was ich sagen wollte, waren Einnahmen und Ausgaben. Das Einkommen kommt natürlich aus dem Verkauf. Die Korrekturen dieser negativen Zahlen wären also Ihre Kosten oder Ihre Ausgaben. Ich möchte, dass Sie das dem Projekt hinzufügen und auch die laufende Summe anzeigen, sobald Sie diese subtrahieren. Das ist also dein Projekt. Sobald Sie es abgeschlossen haben, möchte
ich, dass Sie einen Screenshot des relevanten Teils machen,
der sich von der Software unterscheidet, die wir gerade gemacht haben. Und dann posten Sie
das in der Skillshare Projektklasse Sache, wo Sie
tatsächlich alle diese Kunstwerke posten können , wenn Sie möchten. Richtig? Das ist also das Briefing von mir. Viel Glück damit, und ich freue mich darauf, zu sehen, was Sie sich einfallen können.