C# 10 und . NET 6 für Absolut Anfänger | Trevoir Williams | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

C# 10 und . NET 6 für Absolut Anfänger

teacher avatar Trevoir Williams, Jamaican Software Engineer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      1:01

    • 2.

      Visual Studio 2022 Community Edition installieren

      7:56

    • 3.

      Erstellen Ihres ersten C#

      8:14

    • 4.

      Visual Studio 2022 Community Edition Tour

      15:29

    • 5.

      Verstehe den Unterschied zwischen . NET 6 und frühere Versionen

      9:27

    • 6.

      Entwicklung mit Visual Studio Code

      9:21

    • 7.

      Section

      1:43

    • 8.

      Grundlegende C# Syntax verstehen

      18:11

    • 9.

      Eingabe- und Ausgabeprogramme

      16:27

    • 10.

      C# Datentypen und Konvertierung

      23:30

    • 11.

      Anwendung Debugging

      10:39

    • 12.

      Arithmetische und Assignment

      12:46

    • 13.

      Bedingte Aussagen

      24:28

    • 14.

      Repetition

      19:06

    • 15.

      Methoden - Ledig

      13:57

    • 16.

      Methoden - Wertrückgabe

      14:12

    • 17.

      String Funktionen

      22:40

    • 18.

      DateTime Manipulation Funktionen

      19:09

    • 19.

      Ausnahmebehandlung

      14:47

    • 20.

      Arrays

      21:04

    • 21.

      Listen

      20:27

    • 22.

      Einführung in Klassen und Objekte

      30:42

    • 23.

      Methode Überladung

      8:03

    • 24.

      Statische Kurse und statische Kursteilnehmer

      11:36

    • 25.

      Vererbung mit Klassen und Schnittstellen

      26:35

    • 26.

      Konstrukteure

      12:46

    • 27.

      GitHub Konto erstellen

      1:17

    • 28.

      Lösung zur Source hinzufügen

      10:58

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

371

Teilnehmer:innen

1

Projekte

Über diesen Kurs

In diesem Kurs lernst du C# Programmierung für Desktopanwendungen in den Programmen. Dieser Kurs geht davon aus, dass kein Vorkenntnis der Programmierung oder der C# erfolgt und dich in kürzester Zeit aufrecht und läuft.

Dieser Kurs stattet dich aus, um ein employable zu sein. NET in jeder Organisation.

Auf dieser Reise wirst du in der Regel kompetent

  • Visual Studio Interface und Shortcuts

  • Console mit C# 10 (. NET 6)

    • C# Syntax verstehen

    • Datatypes und Variablen verstehen

    • Ablauf-, Entscheidungs- und Repetition verstehen

    • String verstehen

    • Datum und Uhrzeit Manipulation verstehen

    • Objektorientierte Programmierung, Klassen und Objekte verstehen

    • Visual Studio 2022 verstehen

    • Debugging verstehen

    • Konsolenanwendungen entwickeln

  • Objektorientierte Programmierung mit C#

    anwenden
  • Hinzufügen eines Visual Studio Projekts zur Source

Warum C# Sprache lernen

C# ist die vielseitigste Programmiersprache in . NET und . NET Du kannst nicht nur Windows erstellen, sondern auch C# zum Erstellen von Web- und mobilen Apps verwenden.

C# kann zum Erstellen verwendet werden:

  1. Windows mit Windows WPF und UWP

  2. Webanwendungen mit ASP.NET und ASP.NET Core

  3. Native iOS- und Android mit Xamarin.

  4. Bibliotheken, Komponenten und Konsolenanwendungen

  5. Cloud- und Azure

  6. chain blockieren

  7. C# wird nicht nur von Microsoft unterstützt und gewartet, sondern auch eine starke Unterstützung in der Community bereitgestellt. Mehr als 5 Millionen Entwickler verwenden C# Sprache. . . NET Core und C# Compiler sind Open Source und die Annahme in der Open Source Community wächst.

Inhalt und Übersicht

Dieser Kurs ist sehr einsteiger freundlich und chock voller Entwicklungstipps. Dieser riesige Kurs bietet Premium-Inhalte, die intelligent aufgebrochen sind, um eine Reihe von verwandten Aktivitäten auf der Grundlage jedes Moduls hervorzuheben. Wir werden uns auch bei der Fehlerbehebung und Fehlermeldung ansehen, während wir uns vorstellen; Best Practices implementieren; effiziente Logik schreiben und verstehen, warum Entwickler Dinge so tun, wie sie es tun. Dein Wissen wird Schritt für Schritt wächst und du wirst herausgefordert, das Beste zu sein, das du sein kannst.

Triff deine:n Kursleiter:in

Teacher Profile Image

Trevoir Williams

Jamaican Software Engineer

Kursleiter:in
Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Willkommen im Kurs, C-Sharp und Dotnet Six für absolute Anfänger. Ich bin dein Instruktor für Vaughan Williams. Ich unterrichte seit zehn Jahren Programmieren . In diesem Kurs lernen Sie, unsere Programmierung für Desktop-Anwendungen zu verwenden . Diese Lektionen setzen keine Vorkenntnisse der Programmierung oder der C-Sharp-Sprache voraus, und wir werden Sie in kürzester Zeit einsatzbereit machen. Wir werden C-Sharp-Syntax, Variablen, Loops lernen , und dies ist auf Anweisungen, Sammlungen wie dieser Absender heben Loops und Entscheidungsanweisungen und objektorientierte Programmierung. Am Ende dieses Kurses lernen Sie auch, wie Sie Ihre Lösung zu einer Reihe von Managementsystemen wie GitHub hinzufügen Ihre Lösung zu einer Reihe von können. Entwickler mit Kenntnissen des Dotnet-Frameworks und der C-Sharp-Sprache sind in diesem Bereich sehr gefragt. Dieser Kurs ist voll von Entwicklungstipps und ist sehr anfängerfreundlich und wird Sie dazu bringen, in jeder Organisation arbeitslos zu sein . Kurzerhand. Ich freue mich, dich auf dieser Reise zu haben und ich kann es kaum erwarten, dass wir so viel Spaß haben. 2. Installieren von Visual Studio 2022 Community Edition: Hey Leute. In dieser Lektion installieren wir Visual Studio 2022, das mit dotnet sechs ausgeliefert wird, was das bisher schnellste Dotnet ist. Um loszulegen, müssen wir nur zu den Slash-Downloads von Visual Studio.Microsoft.com gehen . Und dann werden wir den kostenlosen Download in der Community-Edition anklicken , der uns dann ein Installationsprogramm gibt. Sobald Sie dieses Installationsprogramm ausgeführt haben, können wir die gewünschten Workloads auswählen. Keine Workloads haben sich wirklich auf die Bibliotheken oder auf unterstützende Bibliotheken für die Art der App verwiesen unterstützende Bibliotheken für die Art , die Sie erstellen möchten. In diesem Fall möchten wir auf jeden diese Webentwicklung ESP-, Dotnet- und Webentwicklungs-Workload erhalten . Wenn Sie sich für andere Technologien interessieren, können Sie diese auswählen. Sie können also sehen, dass ich mehrere Workloads mit einer 0-Entwicklung, NodeJS und Desktop-Entwicklung ausgewählt habe. Sie können diese auch teilen. Ich denke, dass sie sich bei anderen Projekten als nützlich erweisen werden , die Sie am Ende ganz erstellen könnten Sobald Sie das getan haben, können Sie auf Installieren klicken, was unten rechts geschehen würde. Hand-Ecke. Je mehr Workloads Sie auswählen, desto größer ist natürlich die Download-Größe. Sobald Sie das abgeschlossen haben, können Sie fortfahren. Niemand, der Download abgeschlossen ist, Sie erhalten möglicherweise bestimmte Optionen, die ich nicht bekomme, weil ich es bereits installiert habe. Also führe ich dich einfach durch, was erwarten wir? Möglicherweise erhalten Sie eine Option, bei der Sie Ihr Thema auswählen können. Wie Sie sehen können, verwende ich das dunkle Thema, aber dann haben Sie die Möglichkeit eines hellen Themas, eines blauen Themas. Und die Sache ist , dass Visual Studio 22 viel mehr Themen hat als seine Vorgänger. Selbst wenn Sie die ersten Themen nicht beleuchten möchten, können Sie andere Themen erhalten, wenn Sie sie benötigen. Möglicherweise werden Sie außerdem aufgefordert, sich anzumelden, wenn Sie bereits 2019 auf Ihrem Computer installiert haben 2019 auf Ihrem Computer installiert und gerade im Jahr 2022 installiert sind Sie haben sich bereits 2019 angemeldet, dann werden Sie wahrscheinlich nicht aufgefordert, sich erneut anzumelden. Wenn es sich jedoch um Ihre erste Installation von Visual Studio handelt , werden Sie möglicherweise aufgefordert, sich anzumelden oder ein Live-Konto zu erstellen, an dem Sie Ihre von Microsoft ausgestellte Live überhaupt verwenden möchten . Schau dir hotmail.com an, oder du kannst einfach einen erstellen. Und wenn mein Gedächtnis dem Respekt dient, können Sie eine andere Nicht-Microsoft-E-Mail-Adresse verwenden , die ein Level College ausgibt. Wenn ich ein neues Projekt erstelle und eine neue Konsolen-App mache, konsolen C Sharp. Dann wird das nur VS 2222 Demo sein. Alles klar, los, schlag als Nächstes. Cc ist das Gleiche, aber hier kann ich wählen welches Framework und ich kann jetzt das neueste Dotnet Six.net Five auswählen neueste Dotnet Six.net Five letztes Jahr veröffentlicht wurde und es ist laut 1.93.1, als langfristige Unterstützung sitzen. Es ist also immer noch durchaus fähig und jeder ist tatsächlich abwärtskompatibel. Fünf, das meiste von dem, was Sie tun, drei die meisten, wenn nicht alles, was Sie in 3.1 tun ist immer noch mit fünf kompatibel. Die meisten, wenn nicht alles, was Sie mit diesen beiden gemacht hätten , können weitergeleitet werden, leiten Sie es an dotnet 6.1 weiter. Es ist eine Art Unterstützung. Ich würde vorschlagen, wenn Sie eine USV haben, die 2.1 gestohlen hat, um sie zu aktualisieren oder zu aktualisieren. Oder zumindest wenn Sie gerade .net Core lernen, fangen Sie nicht mit 2.1 an. Wenn wir weitermachen und auf Create klicken. Eine andere Sache, die ich zur Kenntnis nehme, ich pausiere das Video. schnell war es nicht, aber ich habe das Video angehalten. Eine Sache, die ich zur Kenntnis genommen habe ist die Tatsache, dass es sich um viel Fossa handelt, das liegt wahrscheinlich daran, dass es keine 64-Bit-Anwendung ist, also nutzt es Ihre 64-Bit-Maschinenressourcen besser Ihre 64-Bit-Maschinenressourcen als zuvor Versionen hätten es getan. Nein, Sie sehen FASTA-Suchzeiten, schnellere Projektladezeiten. Sie haben Lösungen mit 109 Projekten. Es sollte nicht so lange dauern, sie aufzuladen. Eine andere Sache , auf die ich hingewiesen habe, ist, dass dies eine Konsolen-App ist. Und wenn Sie Erfahrung mit dem Schreiben der typischen C-Sharp-Verpflichtung haben und nicht wissen würden, dass es eine Standardvorlage gibt in der Sie oben eine Reihe von Use-Anweisungen haben. Und dann hast du int main Java-Klasse, und dann hast du int main, und dann hast du den Code da drin. Aber hier sehe ich nur den Code. Das ist dotnet 66 tatsächlich die ganze Vorlage losgeworden. Lassen Sie mich also einfach das dotnet F5-Konsolen-App-Projekt schnell hinzufügen. Lass mich einfach diese eine Demo nennen. Ich bin bei fünf, also wissen wir Next. Und dann ist das um fünf Uhr erledigt. Daran sind wir wahrscheinlich gewöhnt, wenn wir uns ein Dotnet Fünf-Projekt anschauen AddFive-Konsolenprojekt oder Codedatei. Sie haben Ihre Klasse, Sie haben Ihre statische Leere, und dann haben Sie Ihren Code. In Dotnet sechs wurden sie jedoch die Rapper los, unsere eigene Olive, die gerade anfangen, Code zu schreiben. Das ist nicht, das ist kein C-scharfes Tutorial. Ich weise nur auf die beiden Nuancen hin . meinem C-Sharp-Tutorial werde ich definitiv all das und die Unterschiede zwischen dem Dotnet, dem regulären Dotnet C-Sharp und dem, was Dotnet Six auf den Tisch bringt, durchgehen das und die Unterschiede zwischen dem Dotnet, dem regulären Dotnet C-Sharp und dem, was Dotnet Six auf den Tisch bringt . Aber soweit ich es sehe, ist es wirklich cool. Jetzt ist ein weiteres cooles Feature für mich , dass es eine erhöhte Intelligenz ist, wenn es um Code-Hinweise geht , was Sie beim Schreiben Ihres Codes erhalten könnten . Sehen Sie dies auch als enorme Produktivität , wenn sie die Funktion im Telecode übernehmen. Und Sie werden das kleine Symbol hier unten sehen, dem Sie einige der Optionen umschalten können. Wenn ich also die Konsole tippe, werden Sie feststellen, dass es sich um eine Art von Punkt-Schreibzeile handelt. Es wartet nicht darauf, dass ich in die Liste gehe und sie dann auswähle. Ich kann Tab und dann Wanne zerstreuen, solange sie vereinbart sind. Zeichen rechts neben dem Cursor, ich kann die Tabulatortaste drücken und dann füllt es sie einfach aus. Ich bin hier. Lass mich was anderes probieren. Wenn ich etwas wie varname mache, ist var num eins gleich und dann sehe es, dass es darauf hindeutet, dass ich es wahrscheinlich auf 0 initialisieren möchte. Mal sehen, ob es wirklich das intelligente ist, okay, es schlägt num2 vor. Was ist, wenn ich einen Var-Namen wollte? Was würde es vorschlagen var-name? Und dann ein Leerzeichen und dann okay, also schätze ich, dass ich es kaputt gemacht habe. Aber du siehst vielleicht, worauf es geht. Alles klar. Also schätze ich, der Var-Name ist vage. Wie Sie wissen, müssen Sie eingeben, damit es weiß, was genau zehn der Variablen laufen wird, bevor Sie den Wert angeben. Wenn ich also String Name eins sage, Mal sehen, was es vorschlagen würde. Stringy und eins. Und ich denke auch nur, in Ordnung, also ist das eine Funktion, die ich denke , dass Überstunden in seinem Angebot zunehmen werden , da dies wirklich auf kalten Vervollständigungen basiert, basierend auf anderen Codebeispielen von verschiedene Repositorys überall. Also denke ich , dass zufällige Variablennamen , die ich mir gewünscht habe, selten verwendet haben, weshalb es wahrscheinlich so schwer fällt zu verstehen, worauf ich mich bekomme. Aber dann kann er mit der Nummer eins, Nummer zwei, nicht sehen , wenn er es herausgefunden hat. Ich habe gerade die Eingabetaste gedrückt. Es schlägt vor, Konsolenpunkt-Schreibzeile, Tab. Und dann wird es auf der einen Registerkarte direkt dort vorschlagen , ich habe einfach num eins gedruckt, ohne eine Codezeile zu schreiben , und schaue mir das an, ich drücke einmal auf Stopp und drucke num2. Also denke ich, dass du es benutzt, es wird einfacher erscheinen, es wird bessere Vorschläge machen. Es ist eindeutig kontextabhängig, weil er weiß, dass Num1 und Num2 in den Dokumenten im Programm enthalten sind, weiß, dass er es später vorschlagen kann. Tu das nicht für meine Operationen. 3. Erstelle Dein erstes C# Console: Willkommen zurück Leute. In dieser Lektion werden wir eine kurze Tour durch Visual Studio 2022 machen , während wir unser erstes Projekt, Visual Studio 2022, einrichten . Sobald es gestartet ist, bekommst du dieses kleine Fenster. Ich laufe im dunklen Modus, weshalb ich so cool aussieht, aber du wirst vielleicht hell oder blau laufen, was du vielleicht auswählen konntest, während du die Installation und die ersten Schritte durchführst. Unabhängig davon, welches Thema Sie auch ausführen, das Layout wird diesem sehr ähnlich aussehen. Auf der linken Seite haben wir aktuelle Projekte. Sie sehen hier, dass ich meine jüngsten Projekte zusammengebrochen habe, was ich einige Projekte habe. Ich will mich einfach nicht mit irgendetwas beschäftigen. Ich gebe dir das Gefühl, dass deiner nicht so gut läuft wie meiner. Sobald Sie jedoch mit Ihren Entwicklungsaktivitäten beginnen, archiviert Visual Studio sie irgendwie auf der linken Seite damit Sie sie bei Bedarf schnell starten können. Wir haben jedoch beide die Möglichkeit zu beginnen, damit wir ein Repository von einem Online-Repo wie GitHub oder als DevOps ausfüllen können ein Repository von einem Online-Repo wie GitHub oder als DevOps ausfüllen . Wir können ein bestehendes Projekt oder eine bestehende Lösung eröffnen. Wir können einen lokalen Ordner öffnen und dann ein neues Projekt erstellen. Wir können auch ohne Code fortfahren. Ich mache weiter und erstelle ein neues Projekt. Sie haben verschiedene Vorlagen und diese Vorlagen beziehen sich auf die Workloads, die Sie während der Installation ausgewählt hätten. Auf der linken Seite haben Sie kürzlich Vorlagen verwendet. Wenn Sie Guanin hinzufügen und bereits experimentiert haben, würden Sie diese Art von Vorlagen auf der linken Seite aufgelistet haben, mit welcher auch immer sie experimentiert haben. Wenn nicht, kann es sich um ein leeres Dezimalproblem handeln. Das Richtige ist, wo Sie alle potenziellen Vorlagen haben alle potenziellen Vorlagen , die Sie möglicherweise basierend auf Ihren Workloads haben könnten. Wieder einmal können Sie auch suchen und filtern. Du siehst also, dass ich viel hier habe. Ich weiß nicht, wo einige von ihnen in der Liste folgen. Ich kann immer diejenige eingeben , die mich für Oktober interessiere, und es wird diese Liste entsprechend filtern. Wenn Sie Ihre Vorlage auswählen, haben Sie eine Reihe von Optionen. Sie haben die Sprache, in der sich die Vorlage befinden soll. Dies ist ein C-scharfer Arm, also werden wir uns auf C-sharp B als Vorlagen konzentrieren. Dann haben wir alle Plattformen oder Android oder als Nullen. Sie können unsere danach filtern. Sie können auch nach den Projekttypen filtern. Seltsamerweise bei der Konsolenprogrammierung in diesem speziellen Modul konnte ich bei der Konsolenprogrammierung in diesem speziellen Modul leicht ein C-Sharp auf der Konsole sehen, und dann würde es mir nur die Vorlagen liefern , die diesen beiden Optionen förderlich sind. Ansonsten kann ich mit diesen Filtern natürlich durchblättern. Wenn Sie die Vorlage , nach der Sie suchen, nicht finden , schauen wir uns hier an. Du kommst so weit und du versuchst die C Sharp-Konsole zu finden und sie ist nicht da. Das bedeutet, dass Sie die Arbeitslast wahrscheinlich nicht installiert haben. Sie können also immer zum Ende der Liste gehen und weitere Tools und Funktionen installieren, mit denen Sie das Installationsprogramm neu starten würden , mit dem Sie Ihre Workloads auswählen können. Sie wählen das fehlende aus, das für die Desktop-Entwicklung gedacht ist. Hallo Visual Studio , um sich selbst zu modifizieren. Und wenn du das nächste Mal herkommst, sollte es dir gut gehen. Beginnen wir mit einer C Sharp Konsolen-App. Beachten Sie also, dass Sie C Sharp Konsole oben haben, Sie haben auch eine VB-Konsole. Absolut sehr vorsichtig, um zu beachten , dass die Sprache, die verwendet wird, nicht Vizio OBC verwendet wurde. Wenn du sicher sein willst, wählst du C sharp. Als ich dann eine Konsole gemacht habe, hätten Sie zwei verschiedene Optionen gesehen, C14 Dotnet-Framework im Vergleich zum Dotnet Core. Wir werden uns also tatsächlich auf dotnet Core konzentrieren , da das Framework eine ältere Technologie ist. Damals war es Windows erst seit Dotnet Core, nicht darin ist Open Source geworden. Deshalb wollten wir uns auf die neueren Fortschritte bei der NOT IN IT-Entwicklung konzentrieren die neueren Fortschritte bei und wir verwenden dotnet Core. Wir wählen die Konsolen-App aus, die auf dotnet Core ausgeführt werden kann und auf allen Plattformen ausgeführt werden kann. Denken Sie daran, ich habe nicht erwähnt, dass dies eine alte plattformübergreifende Plattform ist , ein Schlitz, der einfach darauf doppelklickt. Und dann werden wir mit dem Menü konfrontiert, tut uns leid, die Option des Assistenten, um unseren Projektnamen einzugeben , einen Standort auszuwählen und eine Lösung auszuwählen. Ich wähle nach dem Projektnamen. Ganz einfach. Hallo World. Dies ist normalerweise das erste Programm, das jemals jemand in irgendeiner Programmiersprache schreibt. Helloworld. Beachten Sie, dass durch Ändern des Projektnamens automatisch der Name der Lösung geändert wird, aber ich möchte nicht unbedingt, dass die Lösung denselben Namen wie ein Projekt hat. Also werde ich mich für dieses entscheiden. Ich nenne diese Konsolenprogrammierung. Die Relevanz davon ist, dass die Lösung für ein Projekt leider eine Lösung für ein Problem ist. Wenn Sie eine Anwendung entwickeln, entwickeln Sie eine Lösung für ein Problem. Die Lösung. Die Lösung mag einen Namen haben, aber sie hat verschiedene Projekte, was wir tun werden. Wir werden also eine Lösung haben , die viele Projekte hat. Deshalb benenne ich sie anders, obwohl sie standardmäßig versucht hätte , ihnen denselben Namen zu geben. Ich zeige Ihnen, dass Sie es nicht unbedingt müssen, denn es gibt Zeiten, in denen Sie eine Lösung haben und dann verschiedene Projekte mit unterschiedlichen Namen für dieselbe Lösung haben. Name des Projekts. Helloworld. Wenn Sie Ihren Standort ändern möchten, können Sie das tun, aber ich verlasse meinen Standardstandort. Und dann lautet der Lösungsname Konsolenprogrammierung. Dann klicke ich auf „Weiter“. Es ist optional, eine Lösung für das Projekt im selben Verzeichnis zu erhalten . Das überlasse ich, bis wir auf Next klicken. Dann müssen wir die Framework-Version auswählen , an der wir interessiert sind. Wir haben also dotnet Core Zwei-Punkt-Eins, was Ihnen sehr deutlich sagt, dass es sich um automatische Unterstützung handelt. Also mein Vorschlag ist, fange nicht dort an. Wenn Sie bereits etwas entwickeln und eine Quart 2.1-Verpflichtung haben . Also sag einfach, versuche es so schnell wie möglich zu aktualisieren. Aber das ist Auto support.net Core Drei-Punkt-Eins, bis ich denke, dass Dezember 2020 zu diesem Dotnet Five wie ein Vermittler zwischen 3.16 war und es ausgeht der Unterstützung in einem Bowl mich im selben Jahr aus. Aber dotnet sechs beherbergt langfristige Unterstützung , die bis 2024 oder so in Gebrauch sein wird . Es wird für ein paar Jahre im Einsatz sein. Ich würde vorschlagen, dass Sie einfach mit Dutton um sechs Uhr beginnen , da dies die längste Langlebigkeit von all diesen Versionen hat die längste Langlebigkeit . abgesehen hat sich jedoch mit nur wenigen Optimierungen zwischen jede Version von C-Sharp schrittweise verbessert, mit nur wenigen Optimierungen zwischen jeder Version der Dotnet-Frameworks . Und das meiste, was Sie in 3.1 tun können , ist auch in dotnet sechs möglich. Aber dann hat dotnet seeks auch bestimmte Prozesse und die Code-Layouts, die in früheren Versionen nicht sichtbar sind . Wir werden also einen schnellen Vergleich durchführen nur um sicherzustellen, dass Sie den Unterschied unter den Nuancen zwischen den Versionen erkennen können den Unterschied unter den Nuancen zwischen den Versionen erkennen . Ich habe mit dotnet sechs angefangen. Dann können wir weitermachen und auf Create klicken. Dies ist das Endergebnis der Bearbeitung unserer Projektdateien von Oscar . Eine Datei wirklich im Solution Explorer und eine Datei namens program.cs mit einer Codezeile oder einem Kommentar zu einer Codezeile. Ich werde pausieren, von diesem Punkt an haben wir uns nur alles angesehen, was wir ein Projekt erstellen, es ist jemand, den wir in Zukunft noch viel mehr tun werden. Machen Sie sich also keine Sorgen, wenn Sie nicht alle Schritte zum Speicher abgeschlossen haben. Das waren viele Informationen, aber wir würden es wieder normal machen, gingen innehalten. Und wenn wir wiederkommen, machen wir einen Rundgang durch Visual Studio, diese IDE, wozu sie fähig ist und wie sie uns bei unseren Entwicklungsaktivitäten helfen wird. 4. Visual Studio 2022 Community Edition: In dieser Lektion werfen wir einen Blick auf Visual Studio 2020 zur Benutzeroberfläche, wie alles verbunden ist, wie es funktioniert, also verwenden wir es im Allgemeinen. Zuallererst werden Sie feststellen, dass sich mein Solution Explorer auf der linken Seite befindet. Ihre ist wahrscheinlich auf der rechten Seite. Sie können diese tatsächlich nehmen, was ich sagen soll, Symbolleisten und sie überall bewegen. Wenn Sie eine andere Vision für das ganze Visual Studio haben , ist für Sie angelegt. Persönlich hat mir der Solution Explorer auf der linken Seite gefallen. Also kann ich es einfach rüberziehen und docket. Sie werden feststellen, dass dies die Quadrate hier oben sind. Wenn Sie es ins Quadrat fallen lassen, zeigt es Ihnen, wo es erscheinen wird. Sollten Sie Ihr Zeigegerät loslassen. Wenn Sie es in die Mitte fallen lassen, wird es zu einer anderen Wanne. Ich möchte nicht unbedingt Code schreiben und genug, um hier rüber zu gehen, um eine Datei zu ändern und dann wiederzukommen. Das gefällt mir nicht, also habe ich es gerne zur Seite und in meinem Fall auf der linken Seite. Und dann will ich es nicht so breit, entweder kann ich es entsprechend immer kleiner oder größer machen. Natürlich betrifft es so viele Immobilien, die Sie für Ihren Code-Editor-Bereich haben . Damit kannst du experimentieren. sehen Sie auch andere Symbolleisten Auf meinem Bildschirm sehen Sie auch andere Symbolleisten, die Sie möglicherweise nicht unbedingt haben. Jede Symbolleiste, an der Sie interessiert sind. Sie können immer zu Ansicht gehen und Sie können sehen, wenn Sie Ihren Lösungs-Explorer versehentlich schließen, dann können Sie immer zur Ansicht gehen und Sie sehen Ihren Solution Explorer, Sie klicken darauf, er wird wieder angezeigt. Du kannst es auf Erdnuss stecken oder verstecken. Also wenn ich versteckt wollte, aber wenn ich einmal mit der Maus oder klicke, erscheint es und dann benutze ich es und dann mache ich weiter, was ich tun wollte. Das ist eine andere Möglichkeit, es sozusagen auf dem Bildschirm zu halten. Aber habe mehr Immobilien, um deinen Code zu schreiben. Ich werde es dauerhaft andocken lassen , weil ein Anfängerbildschirm ich es benutzen kann, aber das hast du vielleicht nicht unbedingt, weshalb ich dir zeige, wie du auch verstecken kannst. Ich werde mich nur auf die Dinge konzentrieren, die für uns unbedingt notwendig sind , um die Konsolenprogrammierung zu durchlaufen , zumindest im Moment werden wir immer mehr Dinge sehen. Visual Studio hat verschiedene Themen wie ich es erwähnt hätte. Du wirst hier sehen, dass ich das dunkle Thema verwende. Sie können jederzeit zu Tools, Theme gehen und das Thema auswählen, das Ihnen am besten gefällt, oder Sie erhalten mehr Themen. Und wenn Sie ein bestimmtes Niveau erreichen, können Sie sogar Ihre eigenen Themen entwerfen. Wenn Sie also mit einem leichten Thema angefangen haben, wird Ihr Visual Studio wahrscheinlich eher so aussehen. Das gefällt mir nicht. Das ist hart für meine Augen. Wenn du Blau gewählt hast, dann denke ich, dass es nur die winzigen Elemente ändert, oder? Dies ist also der klassische Visual Studio-Look von Visual Studio 20052008. Sieht es irgendwie so aus oder eher wie 2012? Und dann kannst du, wie gesagt, auch andere auswählen. Also habe ich einen vom Markt namens Nordic , der diesen gräulichen, bläulichen Farbton hat. Ich zeige dir nur Optionen. Wieder einmal können Sie immer mehr Themen bekommen, wenn Sie Systemsitzung verwenden, mein System ist in meinen Fenstern auf dunkles Thema eingestellt. Es erbt das nur von meinem Windows-Computer. Sobald Sie das ganze Jahr über mit Visual Studio-Looks vertraut sind , können Sie fortfahren. In Bezug auf die Farbcodierung. Dies ist unser Editor und es ist wirklich nur ein Texteditor. Wenn Sie jemals zuvor einen Code gemacht haben, dann ist es ein Texteditor, wenn Sie noch nie Code geschrieben haben und dies ist Ihr erster Codierkurs, das ist kein Problem. Das ist kein Problem. Dies ist nur ein Texteditor. Stellen Sie sich das wie Notepad vor. Der einzige Unterschied besteht jedoch darin, dass wir eine bestimmte Syntax schreiben werden , um bestimmte Dinge zu erreichen. Die Farbcodierung ist also, Sie werden feststellen, dass bestimmter Code selbst unterschiedliche Farben hat und sie wirklich ihre Rolle bei der gesamten Erfahrung beim Schreiben von Code bedeuten . Im dunklen Thema werden Sie zumindest feststellen, werden Sie zumindest feststellen dass die Konsole diese Art von blaugrünem Aussehen hat. Ich bin farbenblind, also verzeih mir. Meine Klamotten sind ausgezogen. Aber diese Konsole hat diese T-Loop. So nennen wir Console eine Klasse, die immer alles farbcodiert, was eine Klasse ist. Dann werden Sie feststellen, dass die rechte Linie weiß ist. Funktionen. Dies ist eine Funktion oder eine Methode , die weiß sein wird. Und Methoden sind normalerweise durch offene und enge Klammern gekennzeichnet. Und dann jede Zeile oder 90% der Zeilen, die wir wenigstens und mit einem Semikolon schreiben werden. Dieses Semikolon ist also sehr, sehr wichtig. Nein, beachte, ob ich dieses Semikolon verpasst habe oder etwas falsch buchstabiere und Visual Studio nicht herausfinden kann , worauf ich mich beziehe. Es wird dir diese rote, schnörkelige Linie geben. Und wenn Sie Microsoft Word verwenden, dann sind Sie damit vertraut. Dies deutet darauf hin, dass es einen Fehler mit dem Code gibt , den ich geschrieben habe weil die Syntax als Fleisch sehr spezifische Regeln ist, um von unserem Redakteur akzeptiert zu werden. Sobald der Redakteur feststellt, dass etwas mit der Syntax oder dem, was wir geschrieben haben, nicht stimmt . Es wird uns diejenigen geben, die rote Linien sind. Manchmal sind diese Linien die Pfeile. Wenn Sie den Mauszeiger über die Linie bewegen, wird Ihnen der Fehler angezeigt. Manchmal kann es Ihnen nicht sagen, was der Fehler Alt ist, zu Recht hier wieder, mich, dass das Semikolon erwartet wird, okay? Wenn ich das Semikolon lege , verschwindet das. Aber in diesem weiß es nicht, was wir richtig haben. Es ist es weiß richtig. Aber es kann möglicherweise nicht feststellen, dass Lüge nur eine falsch geschriebene Version der Vielfalt ist. Dort kann es scheitern. So kannst du immer schweben. Und dann können Sie auf diese Glühbirne klicken, die Ihnen einige Vorschläge geben wird. Hier ist Visual Studio, besonders im Jahr 2022, so intelligent geworden, dass es diesmal tatsächlich kontextuell sehen kann diesmal tatsächlich kontextuell sehen , dass es sich wahrscheinlich nur um einen Tippfehler handelt, oder? Nach rechts. Und ich wusste, wenn ich darauf klicke, wird es dem Mut für mich begegnen. Und dann verschwindet diese Linie. Dass all Visual Studio Ihnen aktiv hilft, besseren Code zu schreiben. Wenn ich jedoch einen größeren Fehler gemacht habe, so etwas. Nein, ich weiß nicht, was es in dieser Situation tun kann , um mir zu helfen, weil es nur sagen wird, dass dies nicht existiert, es weiß nicht, was das ist. Es deutet auf einen Fehler hin. Dieser sieht es immer noch. Dies ist eine Variable , die nie verwendet wurde. Es gibt dort keine Variable mit diesem Namen usw. Ich zeige Ihnen nur, dass es einige Bereiche gibt , die Ihnen helfen können, und manchmal wird es einfach nicht wissen, was Sie tun sollen. Von Zeit zu Zeit meinen Sie also, dass Sie am Ende googeln müssen. Du weißt, was dein Fehler ist. Löschst du einfach alles und versuchst es erneut von Grund auf neu zu schreiben und das ganze Visum ästhetisch zu sehen und dir zu helfen. Eine andere Sache, die ich nicht hervorgehoben habe, war die Tatsache , dass wir dieses kalte versteckte Team bekommen. Durch die nächste Zeile geht Visual Studio davon aus, Visual Studio dass ich vielleicht eine andere Zeile machen wollte. Durch Drücken der Tabulatortaste kann ich diesen alten Textblock tatsächlich akzeptieren. Was ich vorhabe, wenn ich trösten wollte. Aber dieses Mal siehst du, dass ich einen Fehler gemacht habe Konsolenpunkt. Und dann wirst du hier sehen, wenn du einen Punkt machst, du bekommst tatsächlich dieses Ding namens Intelligenz, was potenzielle Methoden oder Eigenschaften vorschlägt, potenzielle Methoden oder Eigenschaften vorschlägt mit denen du das vervollständigen kannst , was du tust. In Ordnung, manchmal, ich meine, wirst du dir nicht jede einzelne Methode merken , um einfach nur zu schreiben. Es ist ihre Zeitzone, das wirst du einfach nicht. Sobald Sie also die Punkte gemacht haben, wird Visual Studio Vorschläge machen und sehen, dass Sie vielleicht Pufferbreite möchten, vielleicht möchten Sie die Zeile lesen und er hat angefangen zu tippen und es wird sie filtern wie es ja, ich will die Zeile lesen. Und dann kannst du das benutzen. Eine andere Sache, die Sie in diesem Punkt bemerken sollten, ist, dass Sie weggeklickt haben, wenn Sie diesen Vorschlag nicht gewählt haben, etwas passiert ist. Und dann sind die Vorschläge, wenn wir den MAC erhalten haben, Kontrolle und Platz vom vollen Stopp sind, wenn Sie tippen, wird es Ihnen vorschlagen. Aber nehmen wir an, Sie drücken die Escape oder haben weggeklickt und Sie haben nicht einmal diese Autocomplete-Zeile zur Verfügung. Sie möchten wissen, welche Möglichkeiten Sie haben. Sie können tatsächlich den Speicherplatz steuern und dann sehen Sie Ihre Optionen. Und ich werde ehrlich sein, ich mache das seit Jahren und lieben Zeiten ich nicht weiß, was als nächstes kommen muss, es gibt Zeiten, in denen ich den Raum kontrolliere und auf etwas scrolle , das aussieht wonach ich suche. Und ich bin mir sicher, dass Ihnen viel Erfahrung C-Sharp-Entwickler Erfahrung C-Sharp-Entwickler das Gleiche sagen wird. Also sage ich nur, dass es keine Schande ist so weit zu kommen und nicht unbedingt sicher zu sein, was du als nächstes tun willst. diesem Grund wurde Visual Studio auf diese Weise entwickelt, um Ihnen das IntelliSense zur Verfügung zu stellen, damit Sie scrollen können. Und dann sagte er, ich möchte wirklich etwas schreiben oder ich wollte Inputs machen. Ich möchte etwas lesen, AAC liest, liest, liest, liest Licht. Vielleicht lasst uns versuchen, Zeile zu lesen. Und dann kann er deinen Tab und eine automatische Vervollständigung benutzen , oder? Ich meine, ich kann dir nicht jede einzelne Nuance und alles über Visual Studio in einem 15-minütigen Video zeigen . Es gibt Dinge , die man einfach als gleich aussprechen würde . Und wenn wir gemeinsam Code schreiben, werde ich auf bestimmte Dinge alt hinweisen. Ich zeige immer Ihre Tastenkombinationen an. Weißt du, wie das Schreiben eines Kommentars in C-Sharp wäre ein Schrägstrich, Schrägstrich oder ein Schrägstrich und ein Sternchen-Schrägstrich. Und dieses ermöglicht es Ihnen, mehrere Kommentarzeilen zu erstellen. In Ordnung, wenn Sie also eine Bedrohung für einen Absatz benötigen, würden Sie diesen verwenden. Wenn Sie nur eine Kommentarzeile wünschen, würden Sie diese verwenden. Weil die nächste Zeile nicht kommentiert würde. Keyboard Sharp Code dafür. Das wäre die Strg-Taste und sehen Sie, ob Sie eine Codezeile haben , die Sie nicht mehr sind. Du willst nicht, dass es ausgeführt wird. Sie möchten hereinkommen, um zu sagen, dass Sie gedrückt halten, die Kontrolle deaktivieren, Taste drücken und dann C drücken, während Sie die Steuerung immer noch gedrückt halten. Wenn Sie das Kommentieren aufheben möchten, ist es die Strg-Taste. Du, du hältst die Kontrolle und die beeindruckenden Buchstaben K und C gedrückt , um zu kommentieren und dann den Kommentar abzuheben. Halten Sie die Kontrolle gedrückt. Sie drücken die Taste und Sie, das sind Kleinigkeiten , die ich Ihnen zeigen werde, wenn Sie dies duplizieren möchten , und Sie tun Control und D. In Ordnung, unser Kontroll-Lebenslauf , der wirklich ein kopiere und füge ein, aber du bemerkst, dass ich die Zeile nicht hervorgehoben habe und sagte Kopieren dann Stück Ich hatte gerade den Cursor dort und dann gedrückt gedrückt, und dann habe es einfach dupliziert. Control D kann basierend auf Ihren Entwicklungseinstellungen für Sie funktionieren . Es bedeutet, nicht geplatzt zu sein und zu sehen, dass diejenigen nicht für sie funktionieren, aber der Kontroll-Lebenslauf funktioniert im Allgemeinen auf diese Weise. Für den letzten Teil des Geschäfts zeige ich Ihnen, wie Sie Ihre Anwendung ausführen. An dieser Stelle haben wir also einen Code, der auf die Konsole gedruckt werden soll oder wo die Konsolenprogrammierung durchgeführt wird. Konsolenprogrammierung, da Sie auf der grundlegendsten Ebene in den meisten Sprachen, die für den Desktop entwickelt wurden , eine Konsole haben. Wenn wir also konsole sagen, meinen wir wie eine Kommandozeile. Wenn Sie jemals fertig sind, kommen Sie auf Ihrem Computer online, was ist Windows, Linux oder Mac. Es würde ungefähr so aussehen. Das ist Ihre Konsole. Wenn wir also Console Dot Write und I sagen, rufen wir tatsächlich die zugrunde liegende Funktionalität auf, die dieses Eingabeaufforderungsfenster verwendet. Und da ich sah, dass ich jeden Text drucken wollte , den ich hier skizziert habe. Dieses Fenster. Wenn Sie Ihre Anwendung in Visual Studio testen, haben Sie die Möglichkeit, sie entweder auszuführen, und dies verwendet das Debuggen. Führen Sie es aus, ohne die scharfen Aufzählungen der Tastatur zu debuggen , wäre F5, um Debuggen und die Steuerung nachzuahmen, plus F5, um kein Debuggen nachzuahmen. Später schauen wir uns an, was Debuggen bedeutet. Der allgemeine Nettoeffekt besteht darin, dass wenn Sie diese beiden Wiedergabetasten drücken, der Code ausführen sollte , den Sie geschrieben haben. Und es sollte auf dem Bildschirm erscheinen und Ihnen zeigen , was der Alt von Ihrem Code ist, ob es jetzt wünschenswert ist oder nicht , wo Sie programmieren, Sie können Ihre Änderungen vornehmen und Sie können Bringen Sie es an den Punkt, an dem Sie es haben möchten. Aber um es auszuführen, drücken Sie einfach die Start-Taste. Und dann fängt es an, CDC zu debuggen, das Ausgabefenster erscheint und gibt mir alle möglichen Statistiken. Und dann erhalten Sie das Konsolenfenster , das wie eine Eingabeaufforderung aussieht. Und dann bekommst du deine Linie HelloWorld. Und er sagt dir, dass der Code von diesem Ort aus ausgeführt wurde. Das ist eine ausführbare Datei. In Ordnung, also ist jedes Installationsprogramm, jede Anwendung, die Sie ausführen, normalerweise eine ausführbare Datei. Und dann heißt es, dass es automatisch wird, nun, sie geben Ihnen die Möglichkeit, es automatisch zu schließen, aber das wollen wir nicht unbedingt. Wir können einfach eine beliebige Taste drücken , um dieses Fenster zu schließen. Wenn ich also die Eingabetaste drücke, wird es einfach das Fenster schließen und uns zu Visual Studio zurückgeben. Und das ist es wirklich. Das war also eine sehr einfache Hello World-Anwendung , die uns von Visual Studio gegeben wurde. Also ja, das Projekt hieß Hello World. Aber der Code wurde für uns nicht generiert, weil das Projekt so genannt wurde. Bevor ich jedoch gehe, lass mich dir einen kleinen Rundgang durch den Solution Explorer geben, obwohl ich das etwas weiter erweitern werde, hier ist der Name der Lösung. Denken Sie also daran , dass ich gesagt habe, dass wir eine andere Lösung als Projekte oder Projekte hätten. Wir haben also die Lösung namens Konsolenprogrammierung. Und dann haben wir das erste Projekt namens helloworld, das mit einem Klick eine XML-Datei enthüllen wird , die es uns ermöglicht, bestimmte Dinge zu ändern. gehen wir gerade nicht ein. Dann haben wir Abhängigkeiten. musst du dir keine Sorgen machen, oder? Nein. Und dann haben wir eine Datei namens program.cs, die unsere Klassendatei ist, die über kalt geht. Wir können in unserem Projekt natürlich nicht mehrere Dateien verwenden , die wir uns im Laufe des Vorgangs ansehen werden . Das ist es also wirklich für die Tour, die allgemeine Tour durch Visual Studio, was es auf den Tisch bringt und Ihnen hilft, sauberen und wunderbar ausführbaren Code zu schreiben . Wenn wir zurückkommen, werden wir uns den Unterschied zwischen einem Dotnet-Sechs-Projekt und den vorherigen Versionen von dotnet ansehen . 5. Den Unterschied verstehen NET-6 und vorherige Versionen: Okay Leute, also frage mich, dass wir hier waren, als wir das letzte Mal unser erstes Konsolenprogrammierprojekt erstellt haben, nennen wir es helloworld. Und wir haben etwas Code erforscht. Wir haben Visual Studio auch insgesamt erforscht. Und was ich tun wollte, ist nur den Unterschied zwischen dieser Konsolenprogrammiervorlage und denen zu untersuchen den Unterschied zwischen dieser Konsolenprogrammiervorlage , die wir von Dotnet Five oder 3.1 oder sogar Dotnet Framework erhalten hätten von Dotnet Five oder 3.1 oder sogar Dotnet Framework erhalten hätten , wenn wir es verwenden würden. Eine einfache, einfache Möglichkeit, ein neues Projekt zu erhalten , ist eine direkte Kernlösung. Okay, denken Sie also an den Solution Explorer. Wir haben die Lösung oben und es ist charakterisiert Bett mit lila Band in diesem Fenster. Und dann hat das Projekt das Abzeichen, das uns die Sprache gibt , in der dieses Projekt gegessen wurde oder in der es geschrieben werden soll. Wir können also mit der rechten Maustaste auf die Lösung klicken. Dann gehen wir zu Add. Dann sagen wir neues Projekt. Dann sollte Ihnen dieser Bildschirm sehr vertraut aussehen. Dies ist der gleiche Bildschirm, den wir verwenden, um das erste Projekt hinzuzufügen. Wir können die Konsole auswählen. Und weil ich auf meinen Filtern habe, sehe ich es hautnah und persönlich, aber wenn ich einfach klar bin, dann werde ich gestoßen Medaillengewinner, ich gehe mit einer Konsolen-App. Dann nenne ich es Hello World. Kein Vorschlag bei der Benennung Ihrer Projekte. Benutze keine Leerzeichen. Ich schlage vor, dass Sie keine Leerzeichen verwenden. Das ist einer. Alles klar. Verwenden Sie keine Leerzeichen im Namen des Projekts und CamelCase Ihre Wörter. Sie würden feststellen, dass mein Hallo Kapital H und die Welt als Kapital W. Für Lesbarkeitszwecke ist es ein Wort, ja, aber zumindest mit den Großbuchstaben können Sie sehen, wo ein Wort aufhört und ein anderes beginnt in den zusammenhängenden Block-Off-Zeichen. Ich würde auch vorschlagen , dass Sie sich von Sonderzeichen fernhalten . Das ist eigentlich der einzige, den ich wirklich verwende, ist ein Unterstrich bei der Benennung von Projekten. Und das sind weitere Vorschläge denn später können Sie Probleme haben, die andere Plattformen nicht mögen, Bindestriche und so. Sie können einen Unterstrich verwenden und manchmal sehen Sie, dass Leute einen Punkt verwenden. Nicht nur vollkommen in Ordnung vom Kurs. Also kann ich helloworld dot sagen und ich nenne diese Net Five, dass wir wissen, dass dies die Hello World-Anwendung ist die Hello World-Anwendung und sie relativ zu Dotnet-Dateien ist. Deshalb habe ich mich genannt, ist sehr wichtig. Es gibt keinen Hinweis darauf , dass dieser wirklich um sechs Uhr erledigt wird. Aber weil der gesamte Kurs gebaut ist , will unser eigenes Dotnet nicht genau über alle Projekte sein, die um sechs durchgeführt werden. Ich hebe das nur hervor weil dies der Ausreißer ist. HelloWorld.net fünf. Und dann klicken wir auf Weiter. Und dann werde ich sicherstellen, dass es weiß, dass ich dotnet F5 verwende. Dann klicke ich auf Create. Okay, jetzt ist unser neues Projekt, und wenn Sie es sich ansehen, werden Sie sehen, dass wir zwei Projekte haben. Wenn ich sie zusammenbringe, siehst du sie einzeln. Du siehst die HelloWorld und du siehst helloworld.net F5. Wenn ich Hello World erklärt habe, siehst du die HelloWorld-Dateien. Wenn ich HelloWorld erweitere, mach es fünf, du siehst die fünf Dateien. Beachten Sie, dass das Tool zumindest die Basis unserer identischen Projekte in Bezug auf das, was Sie erhalten, projiziert. Du bekommst die Datei program.cs. Lassen Sie uns diese program.cs Dateien vergleichen. Wir haben bereits festgestellt, dass die Dotnet Six-Datei program.cs so aussieht. Nett, sauber, buchstäblich eine Linie, wir haben das zusätzliche Land hinzugefügt. Nun, lass mich zu den Standardwerten zurückkehren. Das müssen wir die Kiste aufhalten. Schau dir nun die Dotnet F5-Datei an. Hier ist noch viel mehr los. Nun, wie nennt man eine using-Anweisung? Also verwende ich Anweisung ist eine Anweisung, die besagt, dass ich diese Bibliothek auf deinem System verwenden muss. Jeder Windows-Computer, jeder Markov- oder Linux-Computer, hat bestimmte Bibliotheken, sind bestimmte kompilierte Code-Bits , die auf Systemebene verfügbar sind. Wenn Sie eine Anwendung schreiben, können Sie tatsächlich eine Anwendung schreiben, um auf jedem Computer darauf zuzugreifen. Wenn wir sagen, System verwenden, bedeutet dies, dass jeder Computer , auf dem es ausgeführt wird , bitte versuchen Sie, auf diese Bibliotheksanrufe zuzugreifen. Diese Systembibliothek ist wichtig für die Ausführung unserer Konsole, weshalb ich gesagt habe, dass sie die Eingabeaufforderung verwendet. Wenn wir das einbeziehen, dann haben wir Zugriff auf bestimmte Funktionen, sind bestimmte Code-Bits, die von selbst am niedrigsten Zugriff haben, das System. Sie werden diesen namens Namespace sehen. Nein, der Namespace ist die Codedarstellung des Ordners, in dem sich die Datei befindet. Einfach ausgedrückt, jedes Projekt, das auf der Festplatte erscheint, ist Project Explorer wirklich ein Ordner in unserem Dateisystem. Alles klar, buchstäblich ist es ein Ordner. Wenn ich also mit der rechten Maustaste darauf klicke und offen sehe, tut mir leid, dass ich es verpasst habe. Wenn ich mit der rechten Maustaste klicke und sage Ordner öffnen im Datei-Explorer, wird buchstäblich ein Datei-Explorer gestartet der diesen Sinn für Dateien zeigt, alle am Programm beteiligten Dateien. Wenn ich nach oben gehe, ist das Konsolenprogrammierung. Konsolenprogrammierung , also eine, das ist der Name der Lösung, Das ist ein Ordner. Dann hast du diesen Ordner, okay, nichts ist da drin. Wir haben auch Hello World. Denk dran wir. Schrauben Sie es an das Projekt. In der vorherigen Lektion haben wir hallo world, dotnet F5. Das ist ein anderes Projekt. zeige ich dir nur. Das ist der ganze Namespace wirklich. Es ist nur der Name des Ordners. Wenn Sie also Unterordner und Eingabedateien in diesen Unterordnern haben und der Namespace automatisch vollerer Punkt, Punkt, Punkt, Punkt und Punkt für die gesamte Ordnerhierarchie wäre . Als Nächstes werden Sie feststellen, dass es eine Klassendeklaration hat , die als internes Klassenprogramm bezeichnet wird. Und es heißt, geschweifte Klammern öffnen und schließen. Und wir haben eine statische void-Hauptfunktion, die dann dazu führt, unsere Halloworld-Codezeile zu drucken. Das einzig wirkliche , was diese beiden gemeinsam haben, ist, dass sie beide Konsolenpunktlesezeile zum Drucken verwenden. Wissen, was die Ingenieure bei Microsoft für dotnet sechs getan haben, wurde ein Großteil der Wiederholung reduziert , da in allen Versionen von.net Framework bis auf das Netz fünf der Code aussehen würde. Zumindest fängt es standardmäßig immer mit diesem Glas an und es beginnt immer mit dieser mittleren Funktion. Was sie getan haben, war die Echo Dot-Wiederholung. Jeder weiß also, dass diese beiden mindestens benötigt werden. Also sagten sie: Nun, lassen Sie es uns einfach implizieren. Wir wollen nicht, dass diese Konsole ein System verwenden muss , damit wir das auch tun können, was impliziert ist. Und wir kommen einfach direkt zu den Codierungs-Non-Punkten in der Seele , denn basierend auf der Version , die Sie verwenden können , sinkt und es ist sechs auf Visual Studio 2022 beschränkt. Nun, wenn Sie Twin to 19 aus irgendeinem Grund verwenden und Sie es fünf verwenden müssen, anstatt sechs zu tun, dann wird Ihr Code so aussehen. Aber alles, was wir für Dotnet tun werden, sucht, ist durchaus möglich für ein dominantes Feuer. Ich habe nur daran erinnert, dass Ihr gesamter Code innerhalb der mittleren Funktion geschrieben wird und alles ihre eigene Hauptfunktion erfüllt. Wenn Sie zu einer anderen Funktion wechseln müssen, tun Sie dies innerhalb der Klasse. Wenn Sie zu einer anderen Klasse gehen müssten, müssen Sie dies im Namespace tun. Ich will euch nicht verwirren. Ich wollte dir nur zeigen, wie die älteren C-Sharp-Vorlagen im Vergleich zu den neueren C-Sharp-Vorlagen aussehen und dir helfen zu erkennen warum man so aussieht und warum das andere anders aussieht? Nein, früher hatten wir geklickt, um mit einem Klick auf das Projekt diese XML-Datei zu sehen. Hier ist es, dass die Einheit am Ausgangstyp Punkt EXE ist. Dieses Ziel-Framework ist dotnet sechs und implizite neue Verwendungen werden aktiviert. Wir werden uns das später ansehen und es ermöglicht kein Level. Das werden wir uns auch später ansehen. Wenn Sie sich die Dotnet Five ansehen, werden Sie feststellen, dass es weniger Konfigurationsparameter hat, aber es heißt nur, dass das Ziel-Framework 5 ist. Immer noch das gleiche Ausgabe-Tag. Wenn Sie Dotnet Core Drei-Punkte-Ein-Projekt machen, würde es genauso aussehen wie diese Projektvorlage, Codevorlage, außer dass ich denke, dass dies wahrscheinlich öffentlich statt intern wäre . Wir betrachten den Unterschied zwischen denen später und der XML-Datei, die Projektkonfigurationsdatei würde auch etwas anders aussehen. Wie gesagt, wir werden uns jedoch auf dotnet sechs konzentrieren. Also bin ich gegangen, um das Dotnet Five Projekt dort als Referenz zu verlassen. Aber wir werden uns in Zukunft auf dotnet sechs konzentrieren. 6. Entwicklung mit Visual Studio Code: Hey Leute, In dieser Lektion werden wir uns eine Alternative zu Visual Studio 2022 ansehen . Daher benötigen Sie möglicherweise aus einer Reihe von Gründen eine Alternative Visual Studio wurde wirklich für Windows- und Mac OS-Computer erstellt . Und Ihr Computer macht im Allgemeinen möglicherweise keine guten Arbeit beim Ausführen von Visual Studio, was in Ordnung ist, weil es sich um eine sehr riesige Anwendung handelt, die bestimmte Ressourcen benötigt, die nicht jeder Computer kann regelmäßig zur Verfügung stellen. Das ist in Ordnung. Microsoft hat uns also eine nette, leichtgewichtige Alternative gegeben, die plattformübergreifend ist, was bedeutet, dass sie auf jedem einzelnen Betriebssystem läuft jedem einzelnen Betriebssystem und sehr einfach einzurichten und zu verwenden ist, und dies ist Visual Studio Code. Wissen Sie das erste, es gibt zwei Dinge , die Sie brauchen. Ein Visual Studio-Code, aber Sie müssen die Dotnet Six-Laufzeit auch manuell installieren. So können Sie dazu kommen, indem Sie eine einfache Google Search.net Six Runtime oder ASP.Net Core sechs ruinierte Zeit , je nachdem, welcher Zeitpunkt auch immer, damit Sie das SDK auf einem der Betriebssysteme, die Sie haben. Sobald Sie dies tun, werden die Binärdateien in Ihrem System installiert und Sie können dotnet sechs verwenden. Wenn Sie Visual Studio bereits installiert haben, wurde es verpackt. Sie müssen diesen Schritt also nicht unbedingt noch einmal machen. In Ordnung? Sobald Sie die Laufzeit haben, laden Sie natürlich Visual Studio Code herunter. Sie installieren das, was für Ihr Betriebssystem geeignet ist. Der Visual Studio-Code von niemandem ist installiert. Sie erhalten ein einfaches Fenster , Sie die Anzeige erhöhen oder verringern können , indem Control Plus oder Control minus auf Ihrer Tastatur verwenden. Nein, von hier aus möchten Sie Ihren Projektraum einrichten. Was ich gerne mache, ist einen neuen Ordner zu erstellen und dann sozusagen diesen Ordner, meinen Operationsspot, zu verwenden . Also bin ich gegangen, um den Ordner zu öffnen. Und wenn ich den Ordner öffne , werde ich gefragt, welchen Ordner ich öffnen möchte, navigiere zu dem Ort, an dem ich Projekte speichere. Dann erstelle ich in diesem Projektordner einen neuen Ordner. Ich rufe die Konsolenprogrammierung auf, nur um mit allem, was wir zuvor besprochen haben, im Einklang zu bleiben. Konsolenprogrammierung, und wählen Sie dann diesen Ordner aus. Sobald ich diesen Ordner habe, möchte ich ihn auch als Workspace speichern. Also kann ich einfach eine Datei sehen und Workspace speichern unter. Und dann lasse ich das einfach als Workspace für die Konsolenprogrammierung. Dass ich weiß, dass sobald ich diese Datei öffne, dieser Ordner mit allen Projekten und allem darin geöffnet wird . Ich kann sehen, ob ich außerhalb des Arbeitsbereichs Ordner pro Projekt haben möchte, genauso wie Visual Studio, jedes bei jedem von uns erstellten Projekt, einen neuen Ordner gibt und dann warten Sie auf iRange die zugehörigen Dateien zu einem bestimmten Projekt. Ich erstelle anstelle dieses Arbeitsbereichs einen neuen Ordner . Und ich nenne es, sagen wir mal helloworld dot VS Code. Falsch buchstabiert. Ich kann immer mit der rechten Maustaste klicken und umbenennen. Da sind wir los. Hallo Welt. Ja, zitieren Sie, wissen Sie, um das Projekt dort zu erstellen, gibt uns im Gegensatz zu Visual Studio einen netten Assistenten und eine visuelle Benutzeroberfläche. Ich muss Befehle benutzen. Ich kann zum Determiner gehen und ein neues Terminal aufstellen. Und dann innerhalb dieses Terminals stellen Sie sicher, dass ich auf einen, den Kartenordner, zeige und dann bestimmte Befehle ausführe. Also der Änderungsordner, was Sie tun möchten, ist CD zu sagen und dann den Namen des gewünschten Ordners einzugeben. Also will ich hallo, world, ich kann die Tabulatortaste drücken und es wird das für mich automatisch vervollständigen. Drücken Sie Enter. Nein, ich schaue mir den Ordner helloworld an. Dieser Weg. Nicht viel ist der Ordner , auf den ich abziele. Gemischt. Ich möchte das Projekt tatsächlich erstellen. Also kann ich dotnet einfach sagen, indem du .net schreibst, du kannst sehen, ob du die Laufzeit oder das SDK richtig installiert hast. Wenn Sie nicht sehen, dass etwas so aussieht, müssen Sie wahrscheinlich versuchen, es erneut zu installieren. Aber ich kann dotnet sagen, neue Konsole. Also treffe ich mich mit Dotnet, dem Cape. Bitte gib mir ein neues Konsolenprojekt. Und indem Sie einfach die Eingabetaste drücken , füllen Sie diesen Ordner aus, den ich mit Dateien anvisiert habe, die für die Konsolenprogrammierung förderlich sind. Wenn ich auf program.cs klicke , eine C-Sharp-Datei, bekomme ich meinen Einzeiler, genau wie alles, was wir gesehen haben, diese program.cs in Visual Studio. Möglicherweise erhalten Sie auch ein Pop-up , das besagt, dass Sie zusätzliche Vermögenswerte benötigen. Du kannst ja sagen. Eine weitere Sache, die für Ihre Erfahrung hier in Visual Studio Code, Erweiterungen für die Caesar-Programmierung, sehr wichtig ist für Ihre Erfahrung hier in Visual Studio Code, Erweiterungen für die Caesar-Programmierung, , haben Sie möglicherweise ein Pop-up-Sprichwort erhalten. Sie schlagen vor, dass die Verlängerung wenn Sie es nicht geschafft haben, das in Ordnung ist. Wenn Sie zu Extensions gehen, suchen Sie nach einem C sharp. Sie werden oben C-Sharp für Visual Studio Code sehen, der von Omni Sharp gegossen wurde. Okay, das ist schön zu wissen. Der relevante Teil ist jedoch, dass Sie dies definitiv installieren möchten, damit sie einige Code-Hinweise auf einige Informationen erhalten , die Ihnen bei Ihrer C-Sharp-Programmierung in verschiedenen Bereichen in dieser Schnittstelle helfen . Sie würden also auf der Schaltfläche Installieren wie folgt sehen , wenn Sie auf diese Erweiterung klicken. So können Sie weitermachen und es installieren. Und sobald Sie es installiert haben, können Sie fortfahren. Um Ihre Anwendung auszuführen, möchten Sie Dotnet Run sehen. Sag dotnet run. Es wurde mit dem Kompilieren begonnen und dann zeigt es Ihnen die Ausgabe oder die Ergebnisse anstelle der Terminals an. Das Coole an der Determinante ist also, Ihnen direkten Zugriff auf dieselbe Art von Konsole zu geben , die jedes Mal auftaucht, wenn wir eine Anwendung in Visual Studio ausführen , ohne extern zu starten eine ganz andere Konsole, Sie können alles genau hier in dieser Schnittstelle machen. Du kannst ausführen, du kannst laufen. Sie können mit dem Debuggen beginnen, wenn Sie möchten, was Ihnen eine etwas andere Erfahrung wenn Sie mit dem Debuggen beginnen. Aber der Punkt ist, dass Sie tatsächlich alles im Visual Studio-Code sehen würden tatsächlich alles im Visual Studio-Code sehen , ohne tatsächlich ein externes Fenster starten zu müssen. Natürlich hat jedes Detail seine Vor- und Nachteile. Dieser ist schön und leicht und Sie können sehen, dass es uns etwas anderen Geschmack für die gesamte Entwicklungserfahrung bringt . Aber abgesehen davon ist alles, was wir in Visual Studio tun werden , tatsächlich repariert, replizierbar, replizierbar, was auch immer dieses Wort sein würde. Es kann jedoch in Visual Studio Code nachgeahmt werden , um Ihnen zu helfen, eine sehr ähnliche Erfahrung zu machen. Das Letzte, was ich euch zeigen werde, ist, wie Sie mehrere Projekte innerhalb dieses Arbeitsbereichs verwalten können . Betrachten wir also unseren Workspace für die Konsolenprogrammierung als unsere Lösung. Und dann haben wir verschiedene Ordner , die jedes Projekt repräsentieren. In diesem Konsolenprogrammordner möchte ich ein neues Projekt erstellen. Nennen wir das eine Hallo Welt, genau wie das, was wir in Visual Studio gemacht haben. Hallo Welt, dotnet f5. Lass mich meine Rechtschreibung richtig machen. Da sind wir los. Wenn ich dann ein Projekt anstelle dieses Ordners erstellen wollte , muss ich sicherstellen, dass ich auf diesen Ordner zeige. Also muss ich etwas wie CB sagen. Und dann ging ich zu einem Punktschrägstrich, Punktschrägstrich , der den Goldbach abgesägt hat. Weil sieh es dir an. Der Pfad ist HelloWorld VS Code, um zu sehen, dass CD-Punkt wieder in die Konsolenprogrammierung zurückkehrt. Also die NCI-CD und dann fange an Hello World zu tippen und drücke die Tabulatortaste, bis ich den Ordner sehe, an dem ich interessiert bin, nämlich .net fünf, drücken Sie die Eingabetaste. Und dann kann ich dotnet new console sagen. Und nur mit den Pfeiltasten nach oben und unten kann ich kürzlich oder zuvor getippte Befehle durchgehen. Also muss ich sagen dotnet new, lassen Sie mich das System erhöhen, sicher, dass Sie klar sehen dotnet neue Konsole. Aber als ich die Version spezifiziert habe, muss ich Dash F net F5 sagen. Dies würde also nur funktionieren, wenn Sie das dotnet F5 SDK bereits installiert haben , was Sie wahrscheinlich tun, wenn Sie Visual Studio installieren. Wenn Sie das SDK installieren, den Nagel manuell nach, gehen Sie zurück und holen Sie sich diese bestimmte Version. Aber wenn ich die Eingabetaste drücke, beachte innerhalb der Donut fünf, ich bekomme dieses neue Projekt sowie die Projektvorlagen, die Codevorlage für HelloWorld und fertig um fünf. Das ist im Wesentlichen der ganze Visual Studio-Code würde funktionieren. Was Sie tun können, ist für jedes Budget , das wir in Visual Studio erstellen, einfach einen neuen Ordner erstellen, diesen Befehl ausführen und dann können Sie entsprechend mit dem Codieren beginnen. 7. Section: Alles klar Leute, wir sind am Ende der Einrichtung unserer Entwicklungsumgebung gekommen. Zumindest sind vier vielfältig ein Hit, also weiter, C-scharfe Konsolenprogrammierung. Wir haben zwei Tools zur Verfügung. Wir haben Visual Studio 2022. Wir verwenden die Community Edition, und wir sehen hier, dass es sich ein mündliches vollständiges Tool handelt, in das Microsoft viel investiert hat , um sicherzustellen, dass wir als Dotnet-Entwickler ein faires, komfortables haben zu verwendender Arbeitsbereich. Und es wird uns helfen, etwas sauberen und Paul vollständigen Code zu schreiben. Wir haben uns angeschaut, wie wir es zu Ihrem eigenen Komfort neu anordnen können , indem wir diese Toolbar-Abschnitte, die verschiedenen Teile, verschieben , die verschiedenen Themen das ganze Wochenende betrachten , die verschiedenen Themen das ganze Wochenende betrachten und ein Programm ausführen. Wir können mehrere Projekte zu einer einzigen Lösung hinzufügen und alles dergleichen. hinaus haben wir uns auch mit Visual Studio-Code angesehen. Visual Studio ist für Sie keine Option, unabhängig davon, ob es sich Ihr Betriebssystem oder Ihre Systemspezifikationen handelt. Visual Studio Code ist eine sehr, sehr leichte, leistungsfähige und perfekte Alternative zur Verwendung von Visual Studio. Es gibt andere Redakteure da draußen, aber diese kosten im Allgemeinen Geld. Ich zeige Ihnen also nur Ihre besten Optionen, ohne viel ausgeben zu müssen oder wenn Geld im Voraus. Visual Studio Code ist ein netter leichtgewichtiger Editor , der es uns ermöglicht , unsere Projekte mit ein paar einfachen Befehlen in einem integrierten Terminal zu erstellen mit ein paar einfachen Befehlen in und mit all dem Code zu schreiben setz dich und bleib nicht da. Wir werden uns mehr auf die C-scharfe Sprache konzentrieren , während wir voranschreiten. Und wir werden lernen, einige schöne Anwendungen zu erstellen. 8. Grundlagen der C# Syntax verstehen: Alles klar Leute, also werden wir in dieser Lektion einen Schritt zurücktreten und uns ansehen, wie wir unsere Entwicklung in verschiedenen Bereichen fortsetzen können, indem ein bestehendes Projekt starten und mit der Programmierung vorgehen? Nein, ich hatte seit dem Setup nicht erwähnt , dass Sie links aktuelle Projekte sehen werden. Hier sind also ein paar meiner jüngsten Projekte. Aber hier ist der, auf den ich mich konzentrieren wollte, nämlich diejenige, die wir gemeinsam geschaffen haben. Wenn Sie Ihr Visual Studio herunterfahren, Ihren Computer herunterfahren, essen Sie zu Abend, was auch immer es ist, vertrautes Geld, Sie möchten wieder in ein Projekt springen an dem Sie arbeiten, oder eine Lösung, die Sie sind daran arbeiten, dann würdest du es links sehen. Die neuesten Projekte wissen, dass es eine Zeit gibt, in der Sie an so vielen arbeiten, dass Sie dort nicht aufgeführt werden in der Sie an so vielen arbeiten , dass Sie dort nicht aufgeführt Sie können immer einen lokalen Ordner öffnen oder stattdessen ein Projekt oder eine Lösung öffnen. Sie möchten also unser Projekt oder unsere Lösung öffnen. Lassen Sie uns diese Route also angeben, weil diese einfach ist, darauf zu klicken , und Visual Studio mit der Lösung wird angezeigt. Wenn es nicht da ist, möchten Sie ein Projekt oder eine Lösung öffnen, die es Ihnen ermöglicht, sich dorthin zu graben , wo sich das Projekt befindet. Sie können also einfach durchstöbern, bis Sie den Namen des Projekts oder des Lösungsordners sehen . Und dann sehen Sie diese Datei hier, die eine Lösungsdatei ist. Ich bin Solution Akten. Jeder FCS-Ansatz für uns, sehen wir in der CS-Projektdatei von Visual Studio Code nicht . Es ist ein CFI, das wir in Visual Studio anklicken , diese XML-Konfiguration aufgebracht hat. Die Lösungsdatei würde Visual Studio mit allen Projekten und Dateien starten , die mit der Lösung verknüpft sind. Im Allgemeinen ist der Name dieser Datei denselben Namen. Sie würden als Ordnername sehen. Wenn Sie darauf doppelklicken, wird es tatsächlich dasselbe tun und Visual Studio mit dieser Lösung starten. Nun, das scheint, dass die Lösungsdatei von Ihrem Dateisystem aus gefunden werden kann wenn Sie dorthin navigieren und Sie können, ich kann einfach mit der rechten Maustaste navigieren und „Datei öffnen“, Ordner öffnen sagen . Wenn ich also manuell hierher navigieren sollte, ist hier diese Datei. Wenn ich auf diese Datei doppelklicke, startet sie Visual Studio mit meinen Projekten. Ich zeige dir nur, wie einfach es ist wieder dort fortzufahren, wo du abgehoben hättest. diesen Teil der Lektionen kennen, konzentrieren wir uns auf die C-scharfe Sprache, die Grammatik, Vokabular und die allgemeine Syntax, die Sie zum Schreiben von Code verwenden würden. Wir werden hier nicht die ganze Sprache lernen und ich werde nicht div sein zu tief mit bestimmten Dingen beschäftigen. Ich gebe Ihnen nur einen breiten Überblick wie C-Sharp aussieht. C-Sharp ist die führende Programmiersprache, die uns Microsoft für die.net-Plattform gegeben hat. Es hat eine enge Ähnlichkeit mit C plus plus RC-Sprache. Es ist also ein Teil der C-Sprache ist eine Art von Botch. Es braucht auch viele seiner Konstrukte aus anderen objektorientierten Programmiersprachen wie Java. Wenn Sie wachsam sind, wenn Sie C gelernt haben und Java gelernt haben, wird vieles von dem, was C-Sharp tut, bekannt erscheinen , wenn Sie beides gelernt haben. Und das ist das erste Mal, dass Sie programmieren. Wieder einmal kein Problem. Ich gehe von den Grundlagen aus, also kannst du es verstehen. Jetzt ist C-Sharp in diesem Punkt bei Version zehn, er durchläuft viele Versionen mit jeder Iteration des.net-Frameworks in Dotnet Core. Und ich kann einfach löschen, werde immer besser. Aber eine Sache, mit der ich in Microsoft kommen muss , ist ihre Fähigkeit, die Sprache zu aktualisieren und gleichzeitig bestimmte ältere Regime, Arrangements oder Paradigmen am Leben zu erhalten. Obwohl es vielleicht eine neue Möglichkeit bietet, dort etwas zu tun, veraltet, es in älteren Versionen von C Sharp zu schreiben nicht veraltet, es in älteren Versionen von C Sharp zu schreiben. Es ist nicht so, als würde es sagen, oh, das kann nicht mehr funktionieren, du musst es ändern. Sie leisten also hervorragende Arbeit beim Upgrade. Älteren Code zerstören. C sharp ist auch Open Source und Sie können zu ihrem Projekt-Repository auf GitHub gehen zu ihrem Projekt-Repository auf , indem Sie zu github.com slash.net slash c-Sharp Lungen gehen . Open Source bedeutet , dass alles, was Sie tun, es verfügbar gemacht hat. Der gesamte zugrunde liegende Code, sie geschrieben haben, repräsentiert unser Eigentum, den Sie verwenden werden. Sie geben dir den Schuh, die Implementierungen und alles, was du hineingehen kannst, und du siehst genau, wie es funktioniert. Sie können hier sogar Beiträge leisten. Sie sehen hier, dass es 125 Mitwirkende tut. Sicher, nicht alle davon sind direkte Microsoft-Mitarbeiter. Wenn Sie sich also immer wohler fühlen, können wir uns diese Bibliothek ansehen, uns ansehen, wie bestimmte Dinge erledigt werden, und sehen, ob Sie sie verbessern können. Auch. Wissen Sie früher, dass wir uns bestimmte Dinge angesehen haben, die illegal sind. Es gibt bestimmte Dinge, die Sie in der Syntax einfach nicht tun können. Es gibt bestimmte Tolkiens diese serverspezifischen Zwecke. So wie ein Hashtag oder ein Zahlenzeichen oder Pfundzeichen die ganz spezifische Regel hat diese einzigmal zu öffnen, sage ich einfach Teich. Ich kann Polen-Fehler sagen. Klar. Wenn ich etwas sagen kann, das ich versioniere, beachte, dass ich diese rote Linie in der Version bekomme. Das tut es, weil es nicht etwas ist , das im Vokabular steht. Genau wie bei Englisch oder jeder anderen Sprache, die Sie sprechen würden, gibt es bestimmte Wörter, die einfach nicht im Vokabular enthalten sind . Wörter, die Sie nicht verwenden, weil sie nicht von der Sprache getrennt sind, sind genauso, wenn wir C Sharp oder eine andere Programmiersprache schreiben . Wenn die Sprache nicht erkennt, was Sie als Teil ihrer Syntax schreiben, erhalten Sie diese Art von roter Linie. Beginnen wir mit einem Kommentar. Ein Kommentar ist eine gute Möglichkeit, um zu dokumentieren, was in Ihrer kalten Lektüre passiert. So können wir einen Kommentar schreiben, indem wir einen Schrägstrich verwenden. Und dann können wir diese Zeilendrucke sehen Hallo Welt. Dies ist also eine gute Möglichkeit , zu informieren, was gewonnen hat, sich daran zu erinnern, was der Code tut, oder jemand anderen darüber zu informieren, was er tun soll. Wenn Sie einen ganzen Absatz haben , den Sie schreiben möchten. So können Sie Schrägstrich und Sternchen sehen. Beachten Sie, dass alles nach dem Schrägstrich und dem Sternchen grün wurde. Das ist also nur die Farbcodierung Ihnen zeigt, dass es sich um einen Kommentar handelt. Aber dann kannst du es mit einem anderen Sternchen und einem weiteren Schrägstrich schließen . Ich wollte nicht, dass du das machst. Alles, was Sie zwischen den Sternchen lesen würde als Kommentar angesehen. Dies ist ein ganzer Park Off-Kommentar in mehreren Zeilen. So können Sie also wie einen ganzen Absatz schreiben beschreibt, was in einem ganzen Codeblock passiert. Dies ist also für eine Zeile nach der anderen, dies unterstützt mehrere Zeilen. Wir haben auch, was Sie als Aussagen bezeichnen. Eine Anweisung wäre ein Ausdruck, der mit einem Semikolon endet. In Englisch oder in den meisten anderen Sprachen besteht die Aussage in der Regel auch aus Wörtern, die normalerweise eine bestimmte Reihenfolge haben oder murren. Auf Englisch würde man also das Adjektiv vor dem Bekannten sagen . Auf Spanisch sieht man das bekannte dann das Adjektiv. Tatsache ist aber , dass das Halt ist. Eine Erklärung ist in dieser bestimmten Sprache geschrieben. In C-Sharp ist dies eine ganze Aussage geschrieben und Sie sollten immer mit einem Semikolon enden, obwohl Sie in einer anderen Sprache mit einem vollständigen Stopp enden würden. Wenn Sie beispielsweise eine Anweisung haben, die eine Variable deklariert , erkläre ich, was eine Variable ist. Nehmen wir an, var name ist gleich Variablen ist ein temporärer Speicherplatz für Details. Und dann sehe ich meinen Namen. Ist das. Das ist eine Aussage, dass die rote Linie sagt: Nun, Sie müssen Ihre Aussage angemessen beenden, also brauche ich ein Semikolon. Eine Möglichkeit zu wissen, wann Sie ein Semikolon benötigen , besteht darin, dass Sie wahrscheinlich ein Semikolon am Ende benötigen, wenn Sie die Aussage schreiben und diese rote Linie sehen wahrscheinlich ein Semikolon am Ende benötigen, wenn Sie , wenn alles andere gut aussieht, aber du bekommst immer noch die rote Linie. Prüfen Sie, ob Sie ein Semikolon benötigen. Jetzt gibt es ein anderes Konstrukt namens Block. Ein Block würde dem ähneln , was wir in der C-scharfen Fünf-Vorlage gesehen haben , und er wird durch offene und schließende geschweifte Klammern bezeichnet. Das sind also Blöcke. Ein Block wäre wie ein Absatz in unserer geschriebenen menschlichen Sprache. Blöcke können Namespace sein, es kann für unsere Klasse sein. Sie können auch für die Methode sein. Ich habe es nicht so gemeint, wenn du hineingehst, du bekommst Blöcke für if-Anweisungen und Wiederholungsanweisungen außerhalb der , die sie hier mit Aeneas, der Klasse und der Methode beispielen . Wenn ich wie eine if-Aussage machen würde, würde ich sagen ob name. Mach dir darüber keine Sorgen. Ich werde das alles durchmachen. Ich zeige nur noch einmal die Syntax. Also hier ist ein Vergleich. Wenn der Name gleichwertig ist. Und dann zeigt es mir , dass ich etwas vermisse. Dies ist also eine dieser Zeiten, in denen es auf ein Semikolon hindeutet, aber dies ist keine Aussage. Ein Semikolon ist nicht das, was fehlt. Also muss ich die Warenkorbsyntax schreiben. Es gibt Zeiten, in denen du sagen darfst, warum muss ich es so machen. Ich sage generell, frage nicht warum, wenn die Sprache sagt, dass du es so machst, mach es einfach so. Manchmal, wenn wir uns darauf fixieren, warum es die ganze Tatsache blockiert , dass es genau so ist. Ich werde sagen, ob der Name etwas entspricht, stimmt das offensichtlich nicht. Aber ich werde gerade einen neuen Block gestartet. Das heißt, wenn das stimmt, möchte ich diesen Codeblock ausführen, der erneut durch unsere geschweiften Klammern bezeichnet wird . Nein. Denken Sie daran, dass wir das importieren müssen, was wir Namespaces nennen. Also habe ich vielleicht Bibliotheken gesagt, aber das ist eine Bibliothek, es ist ein Namespace. Ein Namespace ist wirklich eine Sammlung von Klassen. C, Namespace hat eine Klasse, die mehreren Klassen entspricht. Das ist ein Namespace und diejenigen, die diesen Namespace kompilieren, wird zu Multi-Farbbibliotheken. Die verschiedenen Bibliotheken verschiedener Klassen, die Sie nutzen. Soul Console ist eine Klasse, die im Systemnamespace oder in der Bibliothek gefunden wird . Niemand, C-Sharp sechs, du kannst immer hinzufügen, du benutzt Dampf und Seife Top mit System. kannst du immer machen. Und während Sie weitermachen, müssen Sie möglicherweise wissen, dass es ausgegraut ist weil es bereits impliziert ist, dass es unnötig ist. Aber ich habe System.Out und dann hast du hier verschiedene Dinge. Man könnte also System.Out Detail sagen, man konnte dies und was auch immer sehen. Tatsache ist, dass, wenn Sie unsere Klasse nicht aktiv verwenden , codierte Referenzen im Namespace angerufen werden. Dann sagte Visual Studio irgendwie Grau , dass es nicht relevant ist. Jetzt gibt es Zeiten , in denen Sie bestimmte Namespaces haben , die Sie für mehrere Dateien verwenden möchten. In den älteren Versionen von C-Sharp müssten Sie dies jetzt jedes Mal wiederholen . Für jede Klasse, in der ich in der Konsole verwenden werde, müsste ich das mit System haben, indem ich ein System verwende und ein System verwendet. In C-Sharp sechs haben wir die Möglichkeit, eine sogenannte Global Usings-Datei hinzuzufügen. Also kann ich eigentlich einfach eine neue Datei erstellen. Und ich nannte es Global Usings. Rechtsklicken Sie also auf das Projekt. Beachten Sie mehrere Projekte, aber ich wollte innerhalb unseres C-sharp suchten HelloWorld-Projekts. Klicken Sie mit der rechten Maustaste auf dieses Projekt und gehen Sie zu Und dann kann ich einen neuen Gegenstand sagen. Und dann erlaubt mir ein neues Element, eine neue Klassendatei oder andere Dateitypen hinzuzufügen . Diesmal konzentriere ich mich also auf unsere neue C-Sharp-Klassendatei. Ich nenne es global mit diesem Punkt cs, und dann kann ich es hinzufügen. Und dann brauche ich von hier aus nicht all das, brauche ich von hier aus nicht all denn ich brauche nicht all das Zeug. Ich kann es abräumen. Aber nein, ich kann alle using-Anweisungen hinzufügen , von denen ich weiß, dass sie weltweit in meiner Anwendung verwendet werden , um sie zu erstellen. Also werde ich einfach global davor sagen. Sagen Sie also einfach global mit global, verwenden Sie global mit nein, ich muss diese using-Anweisungen nicht manuell in 51015-Dateien hinzufügen . Ich hab bitte nur einen. Und dann kann ich meine Codedatei einfach sauber halten und meinem Code gewidmet sein. Bringen wir ihn jetzt etwas näher an die Heimat zurück und schauen uns einige der Best Practices als wir gerade unseren Code geschrieben haben. Eine Sache ist die Einrückung. Wenn wir Codeblöcke haben, möchten wir sicherstellen, dass wir Einrückungen machen , weil Sie nicht alles in einer Zeile haben möchten alles in einer Zeile haben und dann nicht wissen, wo eine geschweifte Klammer öffnet und schließt, oder? Es wird also immer gut sein. Wenn wir einen Codeblock haben, stellen Sie sicher, dass Sie ihn einrücken. Eine andere Sache ist , dass Anwendungen in jeder Programmiersprache durch drei Steuerstrukturen zielen . Wir haben eine Sequenz. Dann haben wir Entscheidungen nicht unbedingt in dieser bestimmten Reihenfolge, aber wir haben Reihenfolge, wir haben Entscheidungen. Und dann haben wir Wiederholungen. Sequenz bezieht sich auf die Tatsache, dass sie immer in der Reihenfolge verläuft, in der Sie den Code geschrieben haben. Wisse nur, dass du gesehen hast, wie ich diese beiden Codezeilen genommen und sie in jeden Stevens gelegt und dann haben wir einen Fehler bekommen. Warum? Weil ich nach einer Variablen namens name suche, die noch nicht existiert. Der einzige Weg, wie ich eine if-Aussage dagegen schreiben kann, ist wenn ich sie bereits existiert habe. Das ist also die Sequenz, die ich sicherstellen muss, dass sie existiert, dann kann ich Prozesse dagegen machen. Okay, das ist also eine Sequenz. Es wird immer von der ersten Zeile aus laufen. Die letzte Zeile in dieser genauen Reihenfolge ist also gut, wenn Sie an Ihrem Algorithmus oder dem Fluss Ihrer Anwendung arbeiten , der Logik, die Sie sehen werden, ich muss das dann passieren, dann das, dann das. Und dann schreibst du den Code in genau dieser Reihenfolge. Schritt eins, Schritt zwei, Schritt drei usw. Keine Entscheidung wird auch als bedingte Aussage bezeichnet. Es bedeutet, dass ich diese Maßnahme ergreifen werde , sollte diese Bedingung wahr sein? Wenn diese Bedingung zutrifft und wir uns die verschiedenen Bedingungen ansehen und wie wir sie schreiben können. Aber wenn diese Bedingung zutrifft, wollte ich diese Auktion bekommen. Welcher Code auch immer sich in diesem Block befindet, wäre wie der dünne. Denn wenn wir das auf Englisch sehen würden, würden wir sagen, wenn es trüb ist, dann wollte ich mit dieser Aktion anfangen. Dann würde er so etwas wie anderes sagen, eine andere Aktion machen. Das ist alles, was wir als Menschen denken. Und das ist genau ein Ganzes. Wir müssen unsere Bewerbungen schreiben. Wenn das stimmt, innerhalb dieses Codeblocks, verteidige ich innerhalb dieses Codeblocks, was ich tun werde. Und dann kann ich sonst sehen, was anderes tun. Das werden wir uns später ansehen. Und ich gebe Ihnen nur noch einmal eine Vorstellung davon, was wir mit Entscheidung oder bedingten Aussagen meinen. Die nächste wäre Wiederholung. Wenn Sie also mehrmals etwas zu tun haben, das vielleicht 50 Mal Hello World druckt, haben Sie die Möglichkeit, das nur 50 Mal zu schreiben, was natürlich nicht sehr nachhaltig ist. Oder du kannst eine Wiederholung machen. Du könntest also so etwas wie eine Schleife machen. Und ich mache hier einfach eine schnelle For-Schleife , um die Syntax zu erklären. Dennoch zeige ich Ihnen nur, was Sie für eine Reihe von Iterationen sagen würden . All diese definieren nur , um ein ganzes Male zu sehen, in dem Sie möchten, dass es passiert. Führen Sie diese Aktion noch einmal aus, Sie können sehen, dass sie sich in einem Block befindet. Die Wiederaufnahme, das Innere dieses Blocks, würde für die Anzahl von Malen wiederholt werden , die Sie hier definiert haben. In Ordnung? Dies sind also einige wichtige Komponenten zum Schreiben von Programmen im Allgemeinen. Aber dann ist die C-scharfe Syntax natürlich sehr spezifisch. Gehen Sie vollständig mit Visual Studio durch. Ich werde nicht zu viel in die gesamte Syntax einsteigen. Was ich tun werde, ist ein paar Kommentare zu hinterlassen , damit wir uns daran erinnern können, was hier besprochen wurde. Und ich werde einfach alles löschen, was für diese Hello World-Anwendung nicht ganz wichtig ist . Und ich werde nur sagen , dass es drei Kontrollstrukturen in der C-Sharp-Programmierung gibt . Sequenz. Und ich denke, die Sequenz ist das Wichtigste. Wenn es also eine Rangfolge gab, die seine ersten Entscheidungen und Wiederholungen genannt wird , basieren diese eher auf Ihrem Bedarf. Eingabesequenz regelt definitiv alles , weil sie immer in die Arterie geht , dass Sie den Code geschrieben haben. Das ist es wirklich für ein breites Verständnis, breiten Blick auf die C Sharp-Syntax. Wenn wir wiederkommen, erstellen wir ein neues Projekt. Wir werden uns ansehen, wie wir ein aktuelles Programm schreiben können , das mit dem Benutzer interagiert. 9. Input: Alles klar Leute, also haben wir C-Sharp gelernt. Wir haben uns mit Visual Studio vertraut gemacht. Lass uns ein richtiges Programm schreiben, ja? Also werde ich ein neues Projekt für dieses neue Programm erstellen , ich klicke mit der rechten Maustaste oder Lösung, gehe zu Neues Projekt hinzufügen. Und dann wollen wir ein weiteres C Sharp Konsolenanwendungsprojekt. Ich nenne diese eine Eingabe, Ausgabe. Input-Ausgang Clinton. Als Nächstes wissen wir, dass wir mit dotnet sechs arbeiten müssen und dann erstellen wir. Wenn Sie jetzt Visual Studio Code verwenden, bedeutet das natürlich, dass Sie einen neuen Ordner erstellen, ein neues Dotnet-Konsolenprogramm ausführen und sich dann in der gleichen Phase befinden wie wir. Diese Anwendung, was wir tun werden, ist, dass ich nur Kommentare schreiben werde. Erstens, deklariere, was wir eine Variable nennen. Wir werden die Benutzereingabe niedrig und speichern in einer Variablen. Dann drucken wir den Inhalt einer Variablen oder der Eingaben des Benutzers. In Ordnung? Es visualisiert es also nicht wenn Sie eine Anwendung verwenden, egal ob es sich um einen Whiteboard-Desktop handelt, Sie normalerweise, wie der Benutzer im Detail formuliert, drücken, Speichern oder so etwas drücken würde . Und dann später müssten Sie sehen, dass Sie durch das Programm dargestellt oder auf Milliliterpunkt gespeichert werden. Wir sind nicht ganz in dem Teil, in dem wir sehen werden, ob es bis morgen ist. Aber für null können wir zumindest sehen, wie es ist, dass wir Eingaben vom Benutzer erhalten und dann zurücksenden. Normalerweise machen Computer drei Dinge. Sie akzeptieren Input, den dualen Prozess, und dann erzeugen sie eine Ausgabe. Das sind die drei Prozesse eines jeden Computers. Häkchen Sie Eingaben an, verarbeiten Sie sie und senden Sie dann den Ausgabeprozess zurück , natürlich könnte so kompliziert sein wie eine mathematische Gleichung, es könnte etwas anderes sein. Aber was auch immer wir dazwischen tun, die Eingabe zu übernehmen und ein Opiat zu produzieren , wird als Prozess bezeichnet. Okay, schauen wir uns an, eine Variable zu deklarieren. Jetzt hat C-Sharp verschiedene Datentypen. Ein Datentyp ähnelt ziemlich einem Adjektiv , das die Variable beschreibt und die Variable definiert oder mitteilt welche Art von Daten er speichern kann. Datentypen in. C Sharp kann es sein. Lassen Sie mich nur diese Datentypen sein und sind nicht unbedingt beschränkt. Ich zeige nur die grundlegenden. Das wird String sein. Das wäre wie Wörter und Zahlen, wie ein Nummernschild, wie ein Name oder eine Lizenzteilnummer. Wie gesagt, Namen und Zahlen. Alles, was es will, enthält Buchstaben. Es kann Zahlen enthalten, es kann Sonderzeichen enthalten. Nun, so nennen wir es einen Stream. Wir haben auch numerische Datentypen wie Integer, die eher ganzen Zahlen ähneln würden, die eher Dezimalzahlen ähneln, dann haben Sie tatsächlich einen doppelten Schrägstrich Float. neueren C-Sharp-Versionen haben Sie tatsächlich Dezimalversionen als Datentyp, aber ich werde mich nur bei den traditionellen Versionen halten, nur für den Fall dass Sie bei verschiedenen Versionen Ganzzahlen haben, Double Float haben. Du hast auch wie char. Char repräsentiert einen Chiropraktiker. Okay, also könnte es ein Brief sein. Es könnte sein, ich meine, das ist nur einer. Das ist also das Beispiel dafür. Der Buchstabe E oder die Zahl Sieben. Es ist nur eine Sache nach dem anderen. Es könnte ein Sondercharakter sein. Das sind alles Beispiele für Zeichen. In Ordnung, lass mich meine Rechtschreibrechte kriegen. Strings wären meine Blöcke aus, nehmen diese Textblöcke, wir verwenden das doppelte Anführungszeichen. Beachten Sie, dass das Zeichen ein einzelnes Anführungszeichen verwendet. In einem früheren Beispiel hättest du gesehen, wie ich meinen Namen benutze. Und im Standardbeispiel würden Sie Hello World sehen , das ist eine Zeichenfolge. Alles klar? Sie haben verschiedene Datentypen und wir werden andere durchgehen. Ich versuche nur, Ihnen keine Informationsüberlastung zu geben, aber das sind typische Beispiele für verschiedene Datentypen. Wie gesagt, es ist wie ein Adjektiv beschreibt, was die Variable speichern kann. Die Variable ist der eigentliche Speicherpunkt. Um also eine Variable nach dem Datentyp zu deklarieren , gebe ich ihr einen Namen. Wenn ich möchte, dass der Benutzer seinen Namen eingibt , rufe ich den Variablennamen auf. Die Sache ist also, dass Sie immer so beschreibend wie möglich mit Ihrem Variablennamen sein möchten. Du willst keine String-Schmerzen sagen. Was ist x? Okay, wenn Sie jemandem beschreiben müssen, der sich Ihren Code anschaut oder sich sogar daran erinnert, wofür x verwendet wurde. Zwei Wochen später wirst du dich nicht erinnern, wann du so etwas wie einen Namen siehst. Es ist klar, wenn Sie den Edge möchten, möchten Sie wahrscheinlich Integer und C, H. verwenden . Das ist klar. Wenn es etwas ist, das mehr als ein Wort wie vielleicht vollständiger Name ist , möchten Sie etwas wie den vollständigen Namen sehen. Keine Ahnung, wie ich das geschrieben habe. Es gibt keine Arten. Arten sind in variablen Namen illegal. Sie können Sonderzeichen bis zu einem Unterstrich verwenden, das ist der einzige spezielle Knorpel, der erlaubt ist. Sie können keinen Bindestrich verwenden, Sie können nichts anderes mit einem Unterstrich verwenden, wird dies tun. Manche Leute benutzen gerne Unterstriche persönlich, ich benutze sie nicht gerne. Sie sind illegal. Sie sind nichts falsch mit ihnen. Wenn du sie also benutzen willst, kein Problem. Ich verlasse mich jedoch auf das, was wir Kamelgehäuse nennen werden, und wenn Sie den ersten Buchstaben schreiben und dann alle anderen Wörter groß schreiben. Sie sehen hier ist ein Beispiel für Kamil falls wir als wir unsere Projekte benannten, wir den Fall Pasco verwendet hätten. Wenn ich Hello World als Variable sage und das H und das W düngen kann, dann ist dies das Pascal-Gehäuse. Okay, also schreiben wir sowohl den ersten Buchstaben als auch jeden ADL groß . Erstens ist das nicht jedes Wort da drin. Im Allgemeinen möchten Sie, wenn Sie Ihre Variablen benennen, Kamelgehäuse verwenden, da es die Lesbarkeit verbessert und jeder, der es betrachtet, können Sie feststellen, dass dies eine Variable ist, die zum Speichern entwickelt wurde der vollständige Name von was auch immer. In Ordnung, deshalb ist die Benennung sehr, sehr wichtig. Das ist also unsere einfache Vers-Variable. Alles klar? Nein, das war die Nummer eins, deklariere eine Variable. Wir haben uns verschiedene Datentypoptionen basierend auf den Informationen angesehen , die wir erhalten möchten. String ist der beste Datentyp für diese Informationen. Stimmt's? Jetzt müssen wir ihnen erlauben, diese Variable einzugeben. Bisher wissen wir, wie man ausgibt, denn Konsolenpunkt-Schreibzeile ermöglicht uns die Ausgabe. Wir müssen jedoch eingeben. Also wo geht es rechts, wir wollen Tool. Wenn Sie sagten, lesen Sie den Underwrite-Truck in der Nähe, möchten wir den Konsolenpunkt lesen, Zeile. Wir sehen uns, dass ich immer console.log Deadline sage. Die Konsole wird tatsächlich pausieren und auf Eingaben warten , weil sie nichts liest. Anstatt Land zu schreiben, wo es etwas ausdrucken wird. In Ordnung? Natürlich nicht, wenn wir dem Benutzer erlauben, jede Lesezeile einzufügen , die wir benötigen, um sie irgendwo zu speichern. Denn wenn sie die Eingabetaste drücken nachdem der Typ innerhalb der Kaiser eingetreten ist, wird die Entzündung an das Programm zurückgesendet. Aber während die Informationen gehen, haben wir deshalb die Variable. Die Variable hier mit der grünen Linie beschwert sich darüber, dass sie deklariert ist, aber nie, Sie haben es nie benutzt weil wir sie nicht verwenden irgendetwas zu tun. Wir haben es einfach da. Die Anwesenheit davon ist also wichtig. Klar. Aber es macht nichts. Wir wollten also sehen, wann Sie Eingaben von der Konsole erhalten, speichern Sie sie bitte innerhalb dieser Variablen. Ich wollte einen vollständigen Namen sehen. Sie erhalten Ihren Wert von allem, was durch die Konsole kommt. In Ordnung, es gibt also eine Reihe von Möglichkeiten, diesen Code zu schreiben. In Ordnung, ich versuche dir nur zu zeigen, wie du einfachsten auf die Beine kommen und anfangen kannst zu arbeiten. Man stellt sicher, dass die Variable vorhanden ist , um den Wert der Variablen zuzuweisen. Dies nennt man eine Aufgabe, bei der alles, was unter rechts ist in das geht, was auf der linken Seite ist. Also ein Beispiel für eine Aufgabe, wir haben früher ein Beispiel gemacht, ich konnte einen vollständigen Namen der Zeichenfolge sehen. Ich weise Ihnen den Standardwert einer leeren Zeichenfolge zu, oder Sie sollten den Standardwert meines Namens haben. Alles, was ich mache, ist, eine Variable zu erstellen und diesen Wert der Set-Variable zuzuweisen. Wenn ich die Zuweisung nicht lege, wird die Variable mit nichts vorhanden sein. Es ist also das, was wir null nennen, was genau wie ein Empfänger ist. Da war nichts drin, bis wir einen solchen Auftrag gemacht haben. In Ordnung, nachdem wir den Wert zugewiesen haben , den der Benutzer in unseren vollständigen Namen eingibt, kann ich Konsole, Punkt, Schreibzeile drucken. Dann stellt Visual Studio fest, dass ich drucken möchte, was im vollständigen Namen ist. Sie haben also einen Konsolenpunkt schreiben sehen und dann viele wundervolle Wochenenden einen wörtlichen Wert drucken wie wir es getan haben Hello World. In diesem Fall möchte ich die statische Zeichenfolge nicht drucken da der Benutzer helloworld nicht betreten hat. Ich weiß nicht, was der Benutzer eingegeben hat, egal ob er den gespeicherten Namen eingeben soll. Das wollte ich drucken. Anstatt also all diese Anführungszeichen und jene auszuschreiben . Diese Block-Off-Zeichenfolge. Ich drucke einfach den Inhalt meiner String-Variable zurück in die Konsole. Am Ende dieser Anwendung schaffen wir erneut einen Speicherplatz im Speicher. Ein verbal ist im Grunde ein Speicherplatz im Speicher, ein Speicherplatz im Speicher für die Zeitanwendung läuft. Sobald die Anwendung nicht mehr ausgeführt wird, existiert diese Variable nicht mehr wenn Sie anfangen , sie zu beenden. Dann wartet es auf welche Eingabe? Dann macht es Wissenschaft und Eingabe, um die Variable zu setzen, und dann drucken wir sie. Lassen Sie uns das also für einen Dreh erklären. Wissen Sie, Sie werden feststellen, dass der Play-Button oben Schüler Hello World ist. Das heißt, wenn wir auf Beschnitten drücken, um die program.cs in HelloWorld auszuführen, wollen wir nicht, dass Hello World ausgeführt wird. Wir wollten unser Input-Output-Programm ausführen. Wir können dies tatsächlich ändern, indem diese Dropdown-Liste ändern und das Programm auswählen , das wir ausführen möchten oder projizieren, das wir ausführen möchten, was Input-Output wäre. Sie werden auch feststellen, dass, wenn Sie das Projekt ändern, auf das sich zu diesem Zeitpunkt konzentriert, er derjenige ist, der die fett gedruckten Buchstaben im Namen erhält , oder? Wenn ich es also wieder in Hello World ändere, ist hallo World fett. Wenn ich die Eingabeausgabe geändert habe, ist die Eingabe, die Ausgabe beides. Der ganze Weg dazu ist direkt das Projekt selbst. Und klicken Sie auf Als Startprojekt festlegen. Das tut dasselbe wie eine Dropdown-Liste oben hier. Wenn ich eine Eingabeausgabe möchte, klicken Sie mit der rechten Maustaste auf Startprojekt festlegen. Und es konzentriert sich nicht auf die Eingabeausgabe und die Play-Taste zeigt dasselbe an. Wenn ich die Wiedergabetaste drücke, beachte, dass sich die Konsole auf dem Bildschirm und nur blinkt. Okay. Warum blinkt es einfach? Es wird nichts gedruckt, das nicht gewollt erstellte oder variable Shore voranschreitet, aber es wartet auch auf die Eingabe. Output, mein Name. Drücken Sie dann Enter. Es wird fortgesetzt, auf der Konsole zu drucken und Sie bemerken, dass es gestoppt wurde. Gott, das ist alles, was ich ihm gesagt habe. Seltsam für Sie Input print und linear fertig. Diese zweite Zeile ist das , was sie druckt. Das ist es, was ich eingegeben habe. Das ist nicht sehr intuitiv. Ich bin mir sicher, dass Sie sehen , dass es nicht sehr intuitiv ist, weil Sie gerade zur Eingabe pausiert haben. Ich habe ihre Bewerbungen geschrieben. Ich weiß, was die Eingabe ist, dass es pausiert, auf dich zu warten. Wenn Sie diese Bewerbung ohne meine Anleitung selbst abholen würden, würden Sie tatsächlich wissen, dass es das ist, was sie wollte? würden Sie nicht, und das würde nicht erwarten, dass ein Benutzer wirklich weiß , der gesehen hat, was Sie für diese Art von Anwendung tun möchten. Wie jede andere Anwendung, wenn Sie viel Formular ausgeben, sagen sie Ihnen normalerweise, was sie im Textfeld oder für diese bestimmte Eingabe wünschen im Textfeld oder für , damit der Benutzer weiß, was Sie haben tut es. Sie möchten also immer Ihr Benutzer weiß , was er tun muss. Sie können jederzeit drucken , Ihre eigenen Nachrichten speichern. Also hier bin ich gegangen, um Konsolenpunkt-Schreibzeile zu sagen. Ich wollte dir die Anweisung geben, gib deinen vollständigen Namen ein. Und ich lege einfach einen kleinen Doppelpunkt unter, natürlich wird das gedruckt. Dies ist also eine wörtliche Zeichenfolge , die auf den Bildschirm gedruckt wird und sagt, Sie wollten schön und vorzeigbar aussehen, Nice selbst Anweisungen. Und dann wird es für die Eingabe pausiert. Was wird dann gedruckt. Ich weiß nicht, was gedruckt wird. Also könnte ich etwas wie Konsolenpunkt-Schreibzeile sagen. Ihr vollständiger Name lautet, und dann drucken wir auf dem Bildschirm, was der Benutzer eingegeben hat. In Ordnung, das sind also die Dinge, die Ihre Verpflichtung verbessern. hast du. Konsolenpunkt schreiben. Zuerst war Console Dot Write. Das Schreiben von Konsolenpunkten wird es in einer Zeile drucken, während die Schreibzeile des Konsolenpunkts sie automatisch in die nächste Zeile verschiebt. Versuchen wir es mal. Also geh weiter und lauf. Sie sehen hier nirgends, geben Sie Ihren vollständigen Namen ein. Und weil wir eine Schreibzeile gemacht haben, ging es automatisch zur nächsten Zeile, um auf die Eingabe zu warten. Ich wollte meinen Namen sehen. Wenn ich dann die Eingabetaste drücke, wird Ihr vollständiger Name in einer Zeile gedruckt , weil ich richtig gesagt habe. Wenn ich also eine Aufforderung in einer Zeile wollte, würde ich einfach richtig statt einer sagen, oder? Und wir schreiben Zeile bringt automatisch zur nächsten Folie. Und das ist so ziemlich es. Siehst du? So schwer ist es überhaupt nicht . einmal ist die Reihenfolge wichtig. Erstellen Sie die Variable, drucken Sie und fragen Sie das Personal nach Eingabe, wogen Sie dann vier Eingaben, und dann können Sie danach alles ausdrucken. In Ordnung, das ist also ein einfacher Eingabeausgang. Kein schneller Refaktor , den ich Ihnen zeigen möchte, ist , dass es vollkommen in Ordnung ist, die Variable zu definieren, wenn Sie nach Daten fragen , um in die Variable zu gelangen und weisen Sie es gleichzeitig zu. Natürlich können Sie nicht zwei verbale Aufgaben auf dem Bildschirm haben . Wenn Sie eine Variable erstellen, bevor Sie dies ein zweites Mal tun. Aber hier sehe ich eine Variable namens full name und gib ihr alles, was vom Benutzer hereinkommt. Das sind also tatsächlich weniger Codezeilen. Manchmal lohnt es sich also ein Programm zu erstellen, das weniger Codezeilen verwendet. Manchmal sind sie lesbar, du willst es als explizit. Also lasse ich es so für deinen Konsum. Erstellen Sie die Variable, erlauben Sie dem Benutzer, Speicher in eine Variable einzugeben und dann den Inhalt der Eingaben auszudrucken. 10. C# Datentypen und Konversion: Ordnung Leute, also haben wir uns in unserer letzten Anwendung kurz angeschaut, wie wir Variablen deklarieren können. Wir haben einen kurzen Überblick über die verschiedenen Datentypen gegeben, die diese Variablen haben können. Und dann wollten wir Informationen vom Benutzer akzeptieren und ausdrucken. Jetzt werden wir auf diesen beiden Konzepten aufbauen , während wir uns Variablen und deren Datentypen angeschaut haben . Wenn Sie Visual Studio noch einmal schließen und es neu starten müssen, können Sie es immer einfach öffnen. Entschuldigung, wenn Sie Visual Studio schließen, muss ich das Projekt neu starten. Sie können Visual Studio 2022 jederzeit neu starten. Sie können nach der jüngsten Verpflichtung oder dem Projekt suchen , an dem Sie gearbeitet haben , oder ein Projekt oder eine Lösung eröffnen. Navigieren Sie dorthin, wo Sie den Projektstandort versetzen würden . Finden Sie es und starten Sie dann die Lösungsdatei. Sie können diesen Schritt auch von Ihrem Explorer selbst aus ausführen. Lasst uns also fortfahren. Wir werden ein neues Projekt erstellen. Also klicke ich einfach auf die Lösung, gehe in ein neues Projekt, tröste auf. Und dann wird es sich um Variablen und Datentypen handeln , die unter Berücksichtigung oder sehr strenge Benennung, Vorschläge, Vorschläge, Nullzeichen und Sonderzeichen und Pascal-Gehäuse berücksichtigen. Also machen wir das alles. Als nächstes verwenden wir dotnet sechs und dann können wir wissen in unserer brandneuen Datei program.cs erstellen. Ich möchte, dass wir uns die verschiedenen Variablen ansehen , die wir verwenden können. Und wir verwenden praktische Beispiele, jemanden, der variable Deklarationen und Typen sieht. In dieser Anwendung erstellen wir ein tatsächliches Eingabeformular für Formulardaten für unseren Benutzer. Wir wollen Namen, Alter, vielleicht Gehalt. Es gibt Geschlecht und ob sie arbeiten oder nicht. Alles klar, lass uns das alles machen. Und dabei werden wir Hall erkunden. Wir konvertieren Datentypen zwischen den Angaben zu dem, was benötigt wird , basierend auf dem Datentyp, den wir für die Variable ausgewählt haben, und wie wir heute alles drucken können , Ende davon. Wir haben bereits ein Beispiel mit dem vollständigen Namen gemacht. Also hier kann ich sehen, dass ein vollständiger Name der Zeichenfolge gleich ist. Sie möchten sich generell von Knowles fernhalten. Null, was bedeutet, dass ich nur den vollständigen Namen der Zeichenfolge sage. Es gibt eine Variable namens vollständiger Name, lassen Sie es sein, sie soll sich generell davon fernhalten. Es wird funktionieren. Wenn Sie jedoch größere Anwendungen erstellen, möchten Sie sich davon fernhalten. Sie möchten also generell einen Standardwert angeben. Hier ist also eine integrierte Standardeinstellung namens String Dot leer. Manchmal sehen Sie vielleicht Personen, die dies tun, aber das nennen wir eine magische Zeichenfolge. Und es ist normalerweise ein Diskurs weil man einen einfachen Fehler machen und es nicht merken könnte , und es wäre sehr schwer, es später herauszufinden. Also müssen wir den Punkt leer streamen. Sie werden Sharps zum Wert für Sie sehen. Und es wird viel einfacher zu warten und auf Kurs sein, nicht. Lass uns das Alter sehen. Also wollte ich einen Rand machen, ich werde eine ganze Zahl verwenden weil die Leute im Allgemeinen 2021 sind, nicht unbedingt 21,8 Jahre alt. Ich würde eine Ganzzahl anstelle eines Double oder Float wünschen , weil ich dafür keine Dezimalzahl erwarte. Sie können diesem auch einen Standardwert zuweisen. Ich setze einfach 0 ein. Hier gibt es Standardwerte, aber Sie würden am Ende int dot, max oder Min sein, was auf beiden Milliardenskalen liegt. Alles klar, also Min ist minus 2 Milliarden oder 2 Billionen oder so ähnlich. Ich meine, dass Mux positiv ist, dieselbe Zahl. Also hier stelle ich einfach fest, dass der Standardwert auf 0 ist. Vielleicht macht eine, vielleicht eine Standardvereinfachung von einem mehr Sinn, oder? Aber hey, nächster Halt, Gehalt. Kein Gehalt. Man könnte mit diesen Dezimalpunkten rechnen , da das Gehalt Geld darstellt. Du könntest Double gebrauchen. Wenn Sie dann einen Standardwert gleich 0 angeben möchten , ist das Ihre Standardeinstellung. Sie könnten wahrscheinlich auch sehen , dass Float auch Dezimalzahlen benötigt, außer dass der Standardwert etwas anders aussehen muss . Also müsstest du so etwas sehen. 0 f. Nur um es Ihnen zu zeigen, zeige ich Ihnen nur die Nuancen mit anderen Datentypen, aber dies ist auch eine Dezimalstelle nur sagt, dass Sie das F ansetzen müssen , um dies darzustellen es ist ein Float und nicht nur ein normales Double. Sie könnten auch dezimal verwenden. Und wenn ich mich nicht dezimal irre, würdest du einfach 0 sehen. Du müsstest Suffix m anziehen. Zeigen Sie Ihnen noch einmal die verschiedenen Optionen, verschiedene Nuancen. Okay, also halte ich es einfach. Tür Double ist gut genug. Und ich kann einfach sagen, dass WIR wissen, dass es eine Dezimalzahl ist, also ist 0 das Gleiche wie 0. Geschlecht. Nein, ich möchte wahrscheinlich, dass der Benutzer M für mich eingibt, F für weiblich. Und dann würdest du dafür einen Charakter verwenden wollen. Also würde ich „char“ sagen. Beachten Sie, dass ich nur versehentlich ein Kapital geschrieben habe C. Capital C char unterscheidet sich von der gewöhnlichen CHR. Ähnliche aber andere Zwecke. Sie möchten also immer , dass sie Kleinbuchstaben sind, wenn Sie Ihre Variablentypen definieren. Char und Geschlecht. Ich kann dieses eine Tool initialisieren. Denke nicht, dass ein Char Dot leer ist. Wir haben Min- und Maximalwert, und Sie haben eine Reihe anderer Operationen. Sie werden alle diese Operationen noch nicht durchlaufen. Alles klar, also hier sage ich einfach, gib mir den Mittelwert für das Char. Dann fragt es um Geburtstag. Ich will diesmal keinen Geburtstag Ich will Boolean. Und arbeitest du? Boolean stellt also wahr oder falsch dar. Du bist es auch schon, oder? Sie sind entweder ein oder deaktiviert binär eins oder 0. Bool repräsentiert diese binäre Entscheidung, diesen Binärwert eins oder 0 wahr oder falsch. Das Funktionieren oder nicht funktioniert. Hier werde ich nur standardmäßig auf false gesetzt. Sie werden also feststellen, dass falsch unwahr tatsächlich Schlüsselwörter sind. Sie können dies an ihrer Farbcodierung erkennen und die Tatsache, dass sie dadurch resultiert, tatsächlich auf diese Werte im IntelliSense hindeutet . Für mich. Selbst bei einem Aufzählungszeichen, wenn ich keinen Wert zuweise, wird der Standardwert auf false gesetzt. Das ist also etwas , das Sie beachten können , wenn Sie ihm keinen Wert geben, der Standardwert ist falsch. Wenn Sie keine ganzen Zahlen - und Doppelwerte angeben, die Standardwerte 0. Char, das standardmäßig auf null steht , genauso wie die Zeichenfolge standardmäßig null ist. Während du übst und du wirst es wohler. Du wirst diese Dinge wissen. Ich zeige sie alle, weil ich das seit Jahren mache, damit ich diese Weisheit aus Erfahrung ausstrahlen kann. Beides Ich schere die Weisheit, damit du sie im Hinterkopf haben kannst , wenn du eine Erfahrung machst. Das sind also die Variablen, mit denen wir für diese Übung arbeiten möchten. Wissen Sie, was ich tun wollte, ist, den Benutzer aufzufordern , jede dieser Punkte einzugeben, und dann wollte ich sie in den Variablen speichern. Fangen wir mit dem Namen an , weil wir das schon einmal gemacht haben. Also ging ich zu Konsolenpunkt-Schreibzeile. Und ich sage bitte gib deinen Namen ein. Ich werde Konsolenpunkt-Schreiben machen. Ich wollte reden, um in einer Zeile zu drucken , und dann wird es danach für die Eingabe pausieren, Semikolon. Und dann werde ich sehen, dass der vollständige Name der Benutzereingabe gleich sein wird , was die Lese-Zeile für Konsolenpunkte wäre. Denken Sie also daran, dass wir uns das letzte Mal angeschaut haben, dass Sie es nur dort zuweisen müssen. Nein. Ich habe nicht erwähnt, dass du hier eine Variable definieren und alles einmal machen kannst. Aus Gründen der Lesbarkeit ist es manchmal gut, alle Ihre Variablen nach oben zu definieren und sie später zu verwenden. Also weißt du wenigstens was du brauchst. Dann kannst du selbst Code schreiben was du schon alt gearbeitet hast. Es ist nicht unbedingt einer ist besser als das andere. Es ist nur, ich schlage nur diese Art von Workflow vor, damit Sie Ihre Gedanken in Ordnung bringen und Ihre Strategie für Ihre Anwendung bereit haben , wenn Sie sie benötigen. In diesem Abschnitt fordere ich den Benutzer nur zur Eingabe auf. Wissen Sie, ich werde das im Grunde einfach kopieren und einfügen und ich sage bitte geben Sie Ihr Alter ein. Manchmal muss man klüger arbeiten, nicht härter. Sie haben bereits die Schreibzeile des Konsolenpunkts. Sie wissen, dass Sie die Variable zuweisen müssen , die ich machen werde , ist Kopieren und Einfügen. Es braucht sein Ende, um sich zu ändern und dann die entsprechende Variable zu verwenden. Also hier sage ich, gib mir das Alter. Wow, kein Durchschnitt. Was ist dieses rote Linien-Ding? Es sagt, dass es Entschuldigung darstellt, lass mich noch einmal darüber schweben. Okay, manchmal, wenn Sie den Mauszeiger darüber bewegen, werden Sie den Fehler nicht sehen. Oh je, es ist am Ende erledigt. Typzeichenfolge kann nicht implizit in int konvertiert werden. Also bitte können Sie gehen, um zu sehen die Fehlerdetails eine Fehlerliste sein würden, die normalerweise im unteren Teil Ihrer Schnittstelle ausgeführt wird, die Zeichenfolge nicht implizit in int konvertieren kann. Und wenn du es dort nicht siehst, kannst du immer zur Ansicht gehen. Und du siehst die Fehlerliste und du klickst darauf und sie erscheint. Hier. Es heißt, dass ich eine ganze Zahl namens Alter habe. Aber Konsolenpunkt-Lese-Zeile akzeptiert tatsächlich eine Zeichenfolge vom Benutzer, was bedeutet, dass sie unabhängig davon, was ich über die Konsole eintippe, sie immer als String sehen wird. Denken Sie also daran, als ich die verschiedenen Datentypen besprochen habe, ich hatte gesagt, dass die Zeichenfolge tatsächlich in der Lage ist , Wörter, Zahlen, Sonderzeichen, alles, was zu speichern Zahlen, Sonderzeichen, alles, wird auf Ihrer Tastatur tatsächlich nur als ein großer Textblock verarbeitet. Wenn wir es in die Konsoleneingabe einfügen, geht es nicht davon aus, dass Sie, weil Sie die Zahl eins eingeben, eine ganze Zahl r haben möchten, Buchstaben eingeben, den Sie ein Zeichen haben möchten, oder eine einjährige Auszeichnung wirklich einen Boolescher Wert. Es wird immer davon ausgegangen, dass Sie eine Zeichenfolge eingeben. Wenn Sie also möchten, dass diese Zeichenfolge als etwas anderes gespeichert wird, müssen wir eine manuelle Konvertierung vornehmen. Um von String in int zu konvertieren. Sie haben die Möglichkeit, Converts zu verwenden, was nur eine weitere integrierte Klasse ist. Und ich kann sagen, Punkte umwandeln. Und ich sehe zwei in 32 Jahren. Ich wollte in 32 konvertieren. Dies ist eine Methode, also muss ich meine Klammer öffnen und dann feststellen, dass sie nach dem Analysieren des Zeichenfolgenwerts , den ich konvertieren möchte, sieht , was konvertiere ich diese Zeichenfolgeneingabe vom Benutzer. Wenn wir nur konvertieren in 32 sagen, kam jede Eingabe vom Benutzer. Und dann muss ich jedes Mal, wenn ich eine kurze so r Bar und den SCC öffne, sicherstellen, dass ich sie schließe. Dieser ist also ein offener Verlust für die rote Linie, aber ich muss die 32 schließen. Da sind wir los. Das wird alle Pfeile los. Ich hoffe, das war klar. Wenn es nicht klar wäre, verdoppelt, um viel klarer zu werden. Jetzt gehen wir zum Gehalt über. Also kopiere und füge ich einfach wieder ein. Und dann wollte ich sagen Bitte gib deinen Sellerie ein. Dann gebe ich das Gehalt zu. Dies wird auf 32 konvertiert. Ich möchte nicht unbedingt 32 Gehalt haben, weil das Gehalt doppelt ist. Es ist keine Ganzzahl. Ich möchte also nicht, dass die Person eingibt, dass sie 210,05 Dollar verdient hat. Ich will nicht nur 210 Dollar. Ich möchte, dass die Fünf-Siebtel auch sagen, dass ich die Dezimalstelle brauche . Nun, rate mal was? Ich kann von String in die doppelte Dezimalzahl konvertieren, wir verwenden Double, also sage ich zu verdoppeln. Da sind wir los. In Ordnung, also String-Eingabe vom Benutzer, wandeln Sie es in doppelten Speicher statt Gehalt um. Kommt gut mit. Ich werde einfach weitermachen und diese Zeilen für Geschlecht und Arbeit duplizieren , und wir können sie herausfinden. Genieße diese in das Geschlecht. Und dann gib bitte ein, ob du arbeitest oder nicht. Beachten Sie erneut rote Linien. Dieser sagt „Gender“. In diesem steht „Arbeiten“. Lass es mich sehen. Status der Arbeit. Lassen Sie mich das umformulieren. Arbeitest du? Arbeitest du? Alles klar. Also weiter, Agender, benutzen wir ein Zeichen. Ich weiß, muss dem Benutzer sagen , dass die legitimen Eingaben Stunde oder nach den Eingaben ich suche. Also werde ich innerhalb der Eingabeaufforderung M oder F sehen, einen dieser Buchstaben eingeben. Dann ging es hoch, um die Zeichenfolge in ein Zeichen umzuwandeln. Geht um Zeichen unterscheidet sich von einer Zeichenfolge, da dies mehrere Zeichen in seinem zusammenhängenden Block im Vergleich zu einem Zeichen enthalten kann mehrere Zeichen in , das buchstäblich nur ein Zeichen nach dem anderen ist. Also ging ich los, um Converts, Dots, Tool zu sehen. Und dann pausiere ich in diesen String-Eingaben, die hoffentlich nur eine der Optionen haben, die ich vorgestellt habe. Und dann bewahre ich das in Gender auf. Ebenso arbeitest du? Was erwarte ich, dass der Benutzer zwei einsetzt? Ich erwarte, dass sie wahr oder falsch werden. Warum? Weil ich nur eine direkte Konvertierung vom Wort true in den tatsächlichen Datentyp hinzufügen wollte direkte Konvertierung vom Wort true in den . Das ist ein Bool, der das Schlüsselwort true ist. Für unsere visuelle Darstellung. True in Anführungszeichen. Das kommt durch Lese-Zeile des Konsolenpunkts. Aber ich brauche wahr. Das Schlüsselwort, was ich bis zum Boolean sagen würde. Wir werden mit diesem Konvertierungstool tun. Boolescher Wert. Ich bin mir sicher, dass Visual Studio Ihnen einige gute Vorschläge gibt, weil es kontextuell untersucht, wofür Sie diesen Wert zuweisen möchten. Es würde ihnen also vorschlagen, weil Sie eindeutig mit einem booleschen Wert arbeiten. Dies dient dazu, unseren Benutzer aufzufordern und hinter den Kulissen den Typ aus der Standardzeichenfolge in den tatsächlichen Datentyp zu konvertieren Typ aus der Standardzeichenfolge in den , den wir für unsere Hintergrundprozesse benötigen. Die Verwendung des richtigen Datentyps ist deshalb sehr wichtig. Wenn Sie es brauchen, um Mathematik mit Gehalt zu machen, können Sie diese Art von Mathematik nicht mit einer Schnur machen. Sie müssen es als numerischen Wert haben um zu sehen, ob Sie dies pro Monat verdienen, dann ist dies Ihr Ohr, das Gehalt, oder? Wenn wir sie also bitten, Ihr Jahresgehalt einzugeben, wollte ich ihnen zeigen, was sie pro Monat verdienen um es als Zahl zu erhalten, um die Mathematik zu machen. Alles klar? Das sind also die Dinge , die Sie berücksichtigen müssen. Am Ende möchten wir die Informationen an den Benutzer zurückdrucken. Also wollten wir das ausdrucken was du eingegeben hast, hier ist was wir für dich haben. Also werde ich nur die Schreibzeile des Konsolenpunkts sehen. Wir wissen, dass wir das tun müssen. Nein, an diesem Punkt kann ich tun, was wir Verkettung nennen. Also wollte ich deinen Namen sehen, ist. Ich habe zwei Möglichkeiten. Ich kann nicht sehen, dass dein Name ist und dann habe eine andere Konsolenpunkt-Schreibzeile voller Name gedruckt. Das haben wir das letzte Mal gemacht. Dann wird sich das in jeder Print-Anweisung verdoppeln , wenn ich es in einer Zeile machen kann. Ihr Name ist also, und dann mache ich das, was wir Verkettung nennen. Also werde ich plus sagen und ihm dann die Variable geben. Was das bedeutet. Es heißt, bitte füge diesen Stringblock hinzu. Dies ist ein Literal, weil ich, der eingetippte Programmierer, so dass sich das nie ändern wird. Und was auch immer durch die Variable hereinkam, weil ich nicht weiß, in was der Benutzer schreiben wird. Das machen wir dort. Eine andere Möglichkeit, dies zu schreiben oder diese Art von Verkettung zu machen, sagen wir mit EJW, wenn ich sehen wollte, dass dein IJ in Ordnung ist, kann ich hier tatsächlich einen Platzhalter setzen. Also ging ich zur offenen geschweiften Klammer 0, schließe geschweifte Klammer. Und dann füge ich die passende Variable ein. Ich kann also sehen, dass jeder weiß was das tut, ist, dass er tatsächlich das erstellt, was wir Args nennen. Also unsere Argumente, die an die Funktion übergeben werden. Die Argumente werden also an die Variablen gebunden sein , die in die Reihenfolge von ihm gehen. Wenn ich also mehrere Argumente hätte sind mehrere Variablen , die gedruckt werden mussten, könnte ich tatsächlich nur 12 machen. Und dann kann ich hier einen Text sehen , weil ich mit einem ganzen Satz schreibe, aber Teile davon müssen dynamisch sein. Ich habe es nicht für jeden von diesen getan, ich nenne sie Platzhalter. Ich würde eine Variable in derselben Reihenfolge angeben. 0 geht immer zuerst. Die erste Variable stimmt mit der 0 überein. Die zweite Variable, viel ist immer noch die andere usw. In Ordnung, also werde ich einfach so viele Variablen auflisten wie ich Platzhalter habe. Das sind also ein paar andere . Ich halte das einfach. Und wir werden nur sehen , dass Ihr Alter ist, dann verwenden wir Platzhalter und drucken jeden. Eine andere Möglichkeit, das zu drucken, was wir verketten String nennen , wäre, Ihr Gehalt zu sehen. Und dann würde ich die Variable hier setzen. Anstatt bitte Holder zu sehen, würde ich geschweifte Klammer sehen und dann die Variablen einsetzen , also Sellerie, aber merke, dass alles noch Orange ist, schon in der gleichen Farbe wie was auch immer aber merke, dass alles noch Orange ist, schon in der gleichen Farbe wie was auch immer Stringliteraldarstellung ist. Was hier fehlt, ist das Dollarzeichen. Ich brauche ein Dollarzeichen, bevor ich die Zeichenfolge schreibe. Dann kann ich geschweifte Klammern verwenden und die Variable überall in diesem Stream auferlegen , den ich möchte. Dies nennt man Interpolation. Das ist also Verkettung. Dies wird Inter Pull Leine genannt. Die Sache mit der Interpolation ist jedoch, dass es innerhalb dieser Zeichenfolge der Verwendung der Argumente sehr ähnlich ist. Aber ich kann eigentlich einfach die Variablen sprinten , wo wir sagen werden, wenn ich etwas schreibe, habe ich es nicht getan, ich wollte eine andere Variable und dann mehr Text. Also schreibe ich nur alles in eine Blockhandschuhschnur, aber überall wo ich sie dynamisch sein muss, schreibe ich einfach entsprechend in diese Variable. Druckt diese Zeichenfolge. Es wird diese Werte einfach dort platzieren, wo ich angegeben habe, dass die Variablen sein sollten. Alles klar. Ich hinterlasse ein paar Kommentare. Sie sind sich bewusst, was an jedem Punkt passiert. Dies sind also alle Ihre Optionen, wenn es darum geht , eine Zeichenfolge für die Variablen zu drucken und mit ihnen zu interagieren . C-Sharp macht es gut, alles in Strings umzuwandeln. Sie müssen also bewusst sein, diese in einen beliebigen Datentyp zu ändern , da er von der Zeichenfolge stammt Sie müssen mit dem Datentyp, den Sie konvertieren, bewusst sein . Sie würden jedoch feststellen, dass ich hier nichts anderes in String umwandle. Dies ist eine Zeichenfolge und ich lege ein Double in einen Stringblock ein. Das Gleiche hier mit Edge wird vollständiger Name ist bereits eine Zeichenfolge. Hier wird es also immer jeden Datentyp in eine Zeichenfolge konvertieren jeden Datentyp in eine , ohne dass Sie etwas anderes tun müssen. Aber wenn nötig, könnten Sie immer einen variablen Punkt toString sagen , der ihn auch in Strings konvertiert. Das funktioniert also, aber das ist irgendwie überflüssig, weil es nicht benötigt wird. Weil C-Sharp so blau ist. Ich zeige dir nur deine Möglichkeiten. Lassen Sie mich das einfach duplizieren und sehen, dass Ihr Geschlecht ist, und dann kann ich einfach das Geschlecht einsetzen. Dann sehe ich, dass du Floyd bist Bist du angestellt oder du bist angestellt? Tut mir leid, ich werde gerade im Altar verwickelt, schreibe das, du bist angestellt und dann sehe ich einfach arbeiten. Okay, also konvertiert es es automatisch aus der Bool String für mich. Oft wirst du sehen, dass ich das mache, aber später werden wir uns die String-Manipulation ein bisschen mehr Details ansehen . Also zeige ich Ihnen hier nur einige Möglichkeiten , damit wir diese Aktivität durchstehen können. Und später werden wir uns mehr darüber befassen, was möglich ist , wenn es um Strings und verschiedene Datentypen geht . Wenn ich diese Anwendung erneut ausführen wollte, muss ich sie von hier aus diese Anwendung erneut ausführen wollte, in das Projekt ändern , mit dem wir arbeiten, Variablen und Datentypen. Und dann lass mich hinrichten. Dann fangen wir an, das auszufüllen. Das wird also Testname sein. Treten Sie in Ihre Ohrkante ein, sagen wir 23. Wie hoch ist dein Gehalt? Das ist ein C. Ich verdiene das 0,35. Was ist mein Geschlecht? Ich wollte denjenigen sagen, dass mir vorgeschlagen wurde, es zu bleiben. Dann arbeite ich an meiner Arbeit wahr. Am Ende erhalten Sie also Ihren Namen, Ihr Alter, Ihr Gehalt, Ihr Geschlecht und Sie sind angestellt. Keine Benachrichtigung, dass hier kein Platz vorhanden ist. Warum gibt es dort keinen Platz? Weil ich einen Dipol habe, da du diesen Tippfehler einfach reparieren kannst und das würde diesen Ausdruck beheben. Aber das ist wirklich alles, was ich möchte, dass wir in dieser Übung durchmachen. Wir haben uns die verschiedenen Variablen angeschaut, bei verschiedenen Variablentypen und geben ihnen das ganze Wochenende die Standardwerte im Vergleich zu Nicht-Standardwerten. Wir haben uns auch angeschaut , dass wir können oder müssen, wenn wir Eingaben von der Konsole akzeptieren , basierend auf dem, was wir brauchen, in unseren spezifischen Datentyp konvertiert werden. Und wir haben uns auch die verschiedenen Möglichkeiten angeschaut , wie wir mit dem Drucken von altem statischen Text in Kombination mit Takes umgehen können Drucken von altem statischen Text , die aus unserer Variablen stammen. 11. Application: Alles klar Leute, also möchte ich in dieser Lektion über Anwendungsdebugging-Techniken diskutieren. Nein, das Debuggen hat damit zu tun, Fehler in Ihrem Code zu finden. An dieser Stelle habe ich eine Reihe anderer Projekte, die wir später nacheinander durchlaufen werden . Lassen Sie sich also nicht mit dem Spaß beschäftigen, dass ich viele Projekte habe , und Sie lassen uns nicht auf das Projekt konzentrieren, das wir gerade abgeschlossen haben, bei dem Variablen und Datentypen untersucht wurden. Und ich wollte dir zeigen, wie du versuchen kannst, Fehler im Code zu finden, während wir weitermachen. In Ordnung, wir haben also verschiedene Arten von Fehlern, die in unserem Code erscheinen werden. Am einfachsten zu erkennen ist ein Syntaxfehler. Syntaxfehler könnten ein Typ so einfach sein oder Sie hätten gesehen, dass sie ein paar falsche Zeilen geschrieben haben. Manchmal, wenn ich Konsole anstelle einer Konsole schreiben würde , würde der Syntaxfehler durch das Gefängnis selbst, die rote Linie, die wir schon einmal gesehen haben, offensichtlich . Sie werden auch feststellen , dass Visual Studio den Löwen rechts von Ihnen hervorheben würde. Und Sie werden das kleine rote Quadrat sehen , das zeigt, dass in dieser Zeile ein Fehler vorliegt. Sie würden auch sehen, dass Sie das kleine x hier unten haben und die Fehlerliste ausgefüllt wird. Es gibt also so viele Indikatoren für die Idee eines Fehlers in Ihrem Code, wenn es sich um einen Syntaxfehler handelt, den es schwer nicht zu bemerken ist. Lasst uns nun ein Gebetsabenteuer sprechen. Du hast es nicht bemerkt. Und du hast versucht jemanden auszuführen , der mein Starterprojekt hier ändert. Dann habe ich versucht, das auszuführen. Ich habe diesen Syntaxfehler nicht bemerkt und ich habe versucht zu laufen, dann werde ich einen Fehler wie diesen haben. Wenn Sie also laufen, haben Sie zwei Möglichkeiten. Sie sind mit dem Debuggen ausgeführt und laufen ohne Debuggen. Ohne Debuggen zu laufen bedeutet , dass es nur gebaut wird, stellen Sie sicher, dass alles in Ordnung ist. Und dann versucht, ein Programm zu starten das mit dem Ballspiel geschrieben wurde, bedeutet, dass es laufen wird, aber achten Sie darauf, dass Sie vielleicht verfolgen möchten, was passiert. Also haben wir uns das in ein paar mal angesehen. Keine der Optionen funktioniert jedoch wann, wenn Sie einen Syntaxfehler haben. Wenn Sie also diese Art von Fehlermeldung erhalten, die besagt, dass bei Ihrem Build ein Fehler aufgetreten ist. Möchten Sie mit dem letzten erfolgreichen Build fortfahren? Sie möchten mit dem letzten erfolgreichen Build nicht fortfahren . Das bedeutet, dass Sie zur guten Version des Codes zurückkehren werden, was den Zweck des Schreibens von neuem Code, den Sie testen können, beeinträchtigen würde . Du willst NOR sehen. Und dann wollte er Ihrer Fehlerliste etwas Aufmerksamkeit schenken , damit sie Ihnen zeigen kann, wo Ihre Fehler liegen. also nur hier im Bereich der Stadt doppelklicken , springen Sie tatsächlich zu dieser Linie mit den Fehlern. Egal, ob Sie es beheben, kommentiert oder was auch immer Sie tun werden, entfernen Sie einfach die Syntaxfehler. Dies sind also die am einfachsten zu erkennenden Fehler. Wissen Sie, die schwierigere Art des zu erkennenden Fehlers ist ein logischer Fehler. In logischen Fehlern kann es sein, dass Sie die Koordinate nicht speziell geschrieben haben, wie Sie etwas getan haben, bevor er etwas anderes hätte tun sollen. Denken Sie daran, dass wir eine Sequenz haben, wir haben ihre Position und dann haben wir Entscheidungen. Wenn eine Sequenz falsch war, erhalten Sie möglicherweise nicht die gewünschten Ergebnisse. Wenn Sie eine schlechte Entscheidung getroffen haben, was bedeutet, dass Sie eine Statement-Bedingung falsch geschrieben haben, können Sie dort auch Ihre for-Schleife usw. schlechte Ergebnisse erzielen . Es gibt eine Reihe von Dingen, die werfen können die ganze Logik. Das sind logische Fehler, die sich während der Laufzeit wirklich manifestieren. Eine Möglichkeit, die zugewiesenen LKW-Werte zu verwenden , besteht darin, sich in den von uns bezeichneten Haltepunkten zu setzen. Breakpoint ist sagen wir eine Markierungs-Codezeile, die dem Compiler mitteilt, dass ich, während Sie den gesamten Code ausführen , wenn Sie diese Zeile drücken , pausieren möchte. Lassen Sie sich für ein bisschen dot-dot registrieren , um diesen Breakpoint zu erhalten. Wenn Sie links von den Zeilennummern schauen, haben Sie den Editor, dann haben Sie Ihre Zeilennummern, die, wenn Sie darauf klicken, die gesamten Zeilen hervorhebt , sehen Sie mich das ist viel. Um nur das gesamte Futter zu erhalten einfach auf diese Zeilennummer geklickt. Aber nach links am weitesten sehen Sie, dass der Cursor wieder invertiert. Hier kommt es also vor, also sieht es normal aus, nur ein normaler Zeiger. Und wenn ich dann zu den Zeilennummern gehe, es irgendwie zeigt es irgendwie invertiert in die nächste Richtung, und dann geht es hier wieder normal. Und dann werden Sie sehen, dass diese kleinen weißen Punkte den Codezeilen erscheinen. Wenn Sie klicken, wo sich das hier oben befindet, wird es rot. Der rote Punkt bedeutet einen Haltepunkt und die gesamte Linie wird rot. Sie können also mehrere Haltepunkte haben. Wirf es auf deinen Code. Aktivieren Sie die Haltepunkte, klicken Sie einfach erneut darauf. Klicken Sie, um ein- oder auszuschalten. Wenn du rennst. Im Debug-Modus, was bedeutet, dass Sie diese größere Wiedergabetaste drücken oder F5 auf Ihrer Tastatur drücken, wird sie ausgeführt. Und seien Sie sich der Tatsache bewusst, dass es einen Haltepunkt geben könnte. Wenn es also trifft, wird dieser Breakpoint pausieren. Wenn es pausiert, können Sie mit den Variablen und anderen Code-Bits interagieren den Variablen und anderen Code-Bits , die ihm vorausgegangen wären. Wenn Sie ohne Debuggen laufen, wird es einfach ausgeführt. Es ist an den kurzen Punkten nicht heilbar. Lassen Sie uns mit dem Debuggen laufen und schauen uns diese Erfahrung an. Hier siehst du es. den Namen eingeben sehen, damit wir wissen, was wir bei 912 Dort wartet es darunter darauf, hineinzugehen. Ich habe meinen Namen eingegeben und die Eingabetaste drücken. Dann geht es vorbei und fragt was sie essen, damit du weißt was das ist? Keine Gliederung. 15. Es wartet am Rande. Also mach dir einen Vorsprung und sieh dir das an. Also druckte es die Aufforderung für eine Zeile 17 aus. Körper kann wegen des Bruchpunkts, den wir in die Linie 18 gesetzt hatten, nicht weiter gehen . Wisse, dass die Verpflichtung tatsächlich gestoppt wird , egal was ich tue , ich drücke tatsächlich Tasten sind, und egal was ich tue, ich gehe vorwärts, weil der Compiler es mir nicht erlaubt. Okay, an diesem Punkt, wenn ich den Mauszeiger über diese vorherigen Variablen fahre, kann ich tatsächlich sehen, welche Werte eingegangen sind, und ich kann sehen , dass der vollständige Name derzeit einen Wert von Truvada hat. Williams Alter hat derzeit einen Wert von 25 und es wartet auf das Gehalt, um seinen Wert zu erhalten. Und das Gehalt hat derzeit einen Wert von 0. Geschlecht hat den Wert von 0 Schrägstrich 0. Das war der Mittelwert. Und das Arbeiten hat standardmäßig den Wert „false“. Siehst du das? einfach über sie schwebe, sehe ich das. Ich kann auch hier runter gehen, wo sich einige der zusätzlichen Symbolleisten befinden, und ich kann sie aufrufen. Ich schaue zu, sieh zu, das ist winzig. Der Watch-Bereich ermöglicht es mir, eine variable Sekunde einzufügen und die Geschlechtervariable zu beobachten. Und es hat mir gezeigt , was sein Wert ist. Ich kann mir den vollständigen Namen ansehen. Und es hat mir gezeigt , was sein Wert ist. Und ich kann mir auch Gehälter ansehen. Also lass mich auf das Gehalt achten. Kein Gehalt hat einen Wert von 0. Aber wenn ich F9 auf meiner Tastatur drücke oder wenn du darin lebst, und ich muss sicherstellen, dass ich F 11 drücke, weil f zehn die Aufnahme tatsächlich für mich stoppt, ist der Unterschied zwischen f zehn und wenn wir darin leben, der Unterschied zwischen f zehn und wenn wir darin leben ist der Unterschied zwischen f zehn und wenn wir darin leben dass wir, wenn zehn, eine Methode überspringen, während FLM Sie in die Methode bringt. Später, wenn wir gemeinsam Code schreiben, werden wir sehen, dass das funktioniert. Aber für null, wenn zehn oder 11 in Ordnung ist. Wenn ich also F 11 drücke, wird es von diesem Haltepunkt aus weitergehen. Und all die Zahlen, sind alle Zahlen, die ich früher eingegeben habe. Aber nein, es wartet tatsächlich in Zeile 18 darauf ich etwas eingebe und die Eingabetaste drücke. Wenn ich also 800 setze, lass mich das löschen und einfach eine vernünftige Nummer eingeben und dann die Eingabetaste drücken. Es wird zur nächsten Zeile weitergehen. Sie sehen also, wenn es auf die Linie trifft, ändert es sie in gelb. Als es den Haltepunkt erreichte, war es gelb, als er zur nächsten Zeile wechselte. Es zeigt mir nicht, wie wär's mit der nächsten Zeile? Richtig. Wenn ich zur Uhr gehe, um seine Nase zu sehen mir zu zeigen, dass das Gehalt nicht mehr 0 ist, es nicht 8 Tausend, weil ich das eingegeben habe . An dieser Stelle. Ich habe ein paar Optionen, weil es immer noch darauf wartet, dass ich Zeile für Zeile gehe , damit ich F11 oder F1 bis zum Ende weitermachen kann. Was ich für ein kleines Programm wie dieses meine wäre keine große Sache. Aber manchmal wollte man wirklich nur abwerten, was an einer bestimmten Linie passiert. Nach dieser bestimmten Zeile können Sie es weitermachen lassen. Um es weitergehen zu lassen. Drücken Sie einfach F5 oder klicken Sie oben auf Weiter. Und sobald Sie das getan haben, wird es einfach wie gewohnt mit der Ausführung des Codes fortgesetzt . Also hier kann ich m hineinlegen und du siehst, dass es nicht pausiert und mich um irgendetwas bittet und es geht bis zum Ende der Hinrichtung weiter. Diese Haltepunkte ermöglichen es mir erneut, die Anwendung in ihren Trucks anzuhalten. Und ich kann einen Blick auf die Variablen was immer festgelegt wurde, falsch war, vielleicht war der Gehaltswert falsch weil die Berechnung falsch ist. Dies hilft Ihnen, Ihre Bewerbung anzuhalten und einen Blick auf die Werte zu werfen, auf die Sie stoßen. Und dann kannst du das feststellen, okay, vielleicht muss ich das twittern oder modifizieren, während du weitermachst. Und dann hilft es dir, voranzukommen. Hier mit Sellerie habe ich gerade die Checkpoints am Haltepunkt deaktiviert , sondern indem ich auf den roten Punkt klicke und darauf klicke. Du darfst nicht mehrere haben. Der Punkt ist, dass jedes Mal, wenn Sie Weiter drücken, es bis zum nächsten Haltepunkt in der Zeile in dieser Reihenfolge geht. Wenn ich also das Gehalt eingebe und es hier ging und in diesem drückte weiter wenn er Zeile 20 unterrichtet, würde er weitermachen, weitermachen, weitermachen. Und dann würde es alles bis zum nächsten Bruchpunkt machen , wo es pausiert und auf mich wartet, der Entwickler, um entweder zu bewerten, was passiert , und dann fortfahren oder Zeile für Zeile gehen. Das ist also eine Anleitung zum Debuggen in Ihrer Anwendung. Dies wird sich als nützlich erweisen. Wenn Sie am Ende Fehler haben. Vielleicht ist deine Logik nicht so gut darüber gedacht, wie du es möchtest und das passiert, wir sind alle Menschen, oder? Manchmal verstehst du es beim ersten Mal nicht richtig. Deshalb gibt es diese Tools, die uns helfen, das zu verfeinern, was wir tun. 12. Arithmetische und Zuordnung: In dieser Lektion werden wir uns mathematische Operatoren ansehen, lassen Sie uns ein neues Projekt erstellen. Und wir werden diesen einen Mathe-Operatoren unter Verwendung von dotnet sechs nennen . Und dann können wir diese Show starten. Nein. Wir wollen uns vielleicht drei Kategorien ansehen. Wir haben grundlegende Operatoren, sind grundlegende Zuweisungsoperator. Vielmehr haben wir arithmetische Operatoren, Operationen. Dann haben wir vielleicht zusammengesetzte Zuweisungsoperatoren. Wir haben uns den Zuweisungsoperator vorher angeschaut. Dies hat damit zu tun, einen Wert int num zuzuweisen, wir haben eine Variable. Cool. Ich möchte ihm einen Wert geben. Ich werde sagen, dass Num vielleicht fünf ist. Das nennt man eine Aufgabe. In normaler englischer oder unregelmäßiger Mathematik bedeutet ein Mensch, wenn man das Gleichheitszeichen sieht, dass alles, wenn man das Gleichheitszeichen sieht, dass alles, was auf der linken Seite ist , den gleichen Wert hat wie das, was sich auf der rechten Seite befindet. Wenn Sie jedoch bei der Programmierung ein Gleichheitszeichen sehen, bedeutet dies, dass das, was sich auf der rechten Seite befindet, dem zugewiesen wird , was sich auf der linken Seite befindet. Das ist also unsere Variable. Wir weisen die Zahl fünf der Variablen zu. Das bedeutet, dass das Gegenteil nicht wahr ist, wenn ich das in Code schreibe , ich bekomme nur einen Fehler, weil es keinen Weg gibt. Ich sehe, dass diese beiden gleichwertig sind. In normaler englischer oder normaler menschlicher Sprache. Das wäre wahrscheinlich akzeptabel, aber nicht in der Programmierung. Bereits ganz erforscht, weisen wir Werte zu, unsere Variablen. Und wenn wir es in einer Zeile machen wollten, können wir einfach sagen, dass int num diesem Wert entspricht. Sobald die Variable erstellt wurde, wird sie standardmäßig mit diesem Wert erstellt. Schauen wir uns nun arithmetische Operationen an. Arithmetische Operationen hätten damit zu tun, dass wir Mathe machen. Ich werde Norm1 machen, ihm einen Wert von etwas zufälligen 11 und num2 geben, geben wir ihm einen Wert von 12. Danke. Visual Studio. Siehst du hier, er ist nur ein Geschenk, das immer wieder gibt. Das will ich diesmal jedoch nicht. Wenn wir Mathematik machen wollten, haben wir die Möglichkeit, die gleiche Art von Mathematik zu machen , die wir in unserem normalen täglichen Leben gewohnt sind , oder? Wenn ich also zusätzlich machen wollte, denken Sie daran, dass ich gesagt habe, dass Sie verschiedene Operationen ausführen können. Wir können ganz einfach Num1 plus Num2 hinzufügen. Einfache Mathematik. Wenn ich jemanden frage, ob ich ein Programm zum Berechnen geschrieben habe und das ist eine nette Aktivität für dich. Schreiben Sie eine Anwendung , die zwei Zahlen akzeptiert und Addition durchführt. Du würdest sie bitten , in Nummer eins einzutreten und es in num2 umzuwandeln. Und dann würdest du num1 plus num2 sehen. Dann haben proprio eine andere Variable, int sum ist gleich num plus num1 plus num2. Mathe ist so einfach? Also schreibe ich sie einfach in diese Console.WriteLine Zeile. Also drucken wir sie tatsächlich zurück auf den Bildschirm und nützliche Codezeilen. Das ist eine nette Aktivität, wenn Sie richtig weitermachen möchten, und ein Taschenrechner nach dieser Aktivität, dann wäre das eine gute Praxis für Sie. Schreiben von Eingabe, Ausgabe und Verarbeitung von Anwendungen. Wir können Mathe machen, wir können Addition machen, wir können Subtraktion machen. Statt eines Pluszeichens. Wir haben ein Minuszeichen. Wir können Multiplikation machen. Denken Sie also daran, dass ich die Zeilen nur mit Control D auf meiner Tastatur oder dem CV Control dupliziere . Alles klar, also wird die Multiplikation durch das Sternchen dargestellt, nicht durch das x. Okay, also schreiben wir ein x, wenn wir Mathematik machen, aber es ist ein Sternchen. In der Programmierabteilung möchten Sie kein Divisionssymbol auf Ihrer Tastatur haben , wenn Sie möchten. Das ist in Microsoft Word, das ist ein spezielles Symbol, also verwenden wir den Schrägstrich. Das ist also ein Spaltungssinn. Norm eins wird durch Kuppelwerkzeug geteilt. Wenn wir einen Modul machen wollen, verwenden wir das Prozentzeichen. Modul ist im Grunde die Division oder der Rest nach der Division. Also lass uns sehen. Zwei geteilt durch drei. Geteilt durch drei wird dir etwas geben, wie es mir leid tut, lass mich sehen. Fünf geteilt durch zwei. Lassen Sie mich etwas Einfacheres machen. Fünf geteilt durch zwei würden gehen, würden in zwei Mal gehen, Rest eins, weil es eine Superinfektion bekommen würde. Nun, du würdest zwei Mal einen Rest bekommen, Werkzeugzeiten bleiben eins. Alles klar. Wenn Sie nun nur diesen Rest wollen, dann würden Sie fünf Modul zwei sagen. Das wird nur den Rest zurückgeben. Das ist der Modulpunkt. Wenn Sie also noch nie mit weiteren Details interagiert haben , sehen Sie dies, wenn Sie jemals zu einer Anwendung kommen, in der Sie alle ungeraden Zahlen finden, eine Zahl eingeben und herausfinden, ob es ist merkwürdig, dann ziemlich wenn die Nummer, sagen wir, es tut mir leid. Ich denke, das wäre eine nette Aktivität für uns danach. Das werde ich bis später belassen . Aber wenn Sie jemals herausfinden müssen ob etwas eine ungerade Zahl ist, müssen Sie nur den Zahlenmodul zwei machen. Und wenn was auch immer das Ergebnis ist, eins ist, dann ist es eine ungerade Zahl, oder? Das ist alles Modulus-Arbeiten. Lassen Sie uns also, um den Punkt nach Hause zu bringen, den Wert von Num eins ändern. Num eins. Ihr neuer Wert ist Norm eins plus vier. Alles klar, ich steige also den Wert von Num One. Und wenn wir das alles ausdrucken würden und ich hier einfach einen hinzufügen, um einen neuen Wert von num zu sehen ist eins die Norm, die OneNote hat. Danach wirst du sehen, dass dies die ursprünglichen Antworten waren. Ich habe den Wert der Variablen geändert und dann erhalten wir diese neuen Werte danach. Das ist eine einfache mathematische Operation. Dann haben Sie verschiedene Bibliotheken, mit denen Sie komplexere Operationen ausführen können. Tangente und Sinus und Kosinus usw. Aber ich komme gerade nicht auf die in der B6 ein. Wenn ich dieses Programm erneut ausführe, ändere ich die Autostarts oder das Projekt mathematische Operationen, die die Betreiber das Projekt gestartet haben, sollte es einfach alle diese Berechnungen ausspucken. Also der Konsolenbildschirm. Da sind wir los. Manchmal wird die Konsole also pausiert. Du musst nur anklicken. Wenn Sie hineinklicken, wird es irgendwie pausiert. Wenn Sie also die Eingabetaste drücken , wird es fortgesetzt. Hier haben wir also die Addition und Subtraktion, Multiplikation, Division und Modul. Du siehst hier hieß es, 12 könne nicht in 11 gehen, oder? Oder was war das? Das war normal, in dem er geteilt durch 12 lebt, also ist das 0 Mal über dem Modul 11, da der Rest 11 sein würde. Dann gehen wir auf den neuen Wert der Norm eins ist 15, und dann bekommen wir die Addition, wir bekommen die Subtraktion wird in die Multiplikation gehen. Wissen Sie, 12 in 15 geht einmal. Wenn der Rest drei ist, gibt uns der Modul den Rest. In Ordnung? Das ist es wirklich für grundlegende arithmetische Operationen. Operatoren für zusammengesetzte Zuweisungen von Knoten wären wie eine verkürzte Version etwas zu tun, wenn ich den Wert einer Variablen ändern wollte , aber ich wollte den ursprünglichen Wert addieren oder vom ursprünglichen Wert subtrahieren. In diesem Fall habe ich es um vier erhöht. Also sagte ich, was auch immer der Wert von Num One ist, oder? Nein, gib es mir zurück und füge vier hinzu und weise dann diesen neuen Wert zu. Normalerweise ist das installiert, ich würde es erhöhen. Wenn ich es verringern wollte, würde ich das Gleiche mit einem Minuszeichen usw. machen, wenn ich das Vierfache seines ursprünglichen Wertes machen wollte , würde ich sagen multiplizieren. Wenn wir jetzt über Komponentenzuweisungen sprechen, wäre es eine verkürzte Version dieser Art von Operation. Wenn ich also sehen wollte, dass die Zahl eins um vier erhöht wird, sehe ich Norm eins plus gleich. Dann gib ihm den Wert. Das würde also keine Anhäufung sehen. Also haben wir das, das nennt man Akkumulator. Norm. Eine erhöht sich um vier. Das ist so ziemlich dasselbe wie das Schreiben, was wir hier oben gemacht haben. Ich komme einfach mit Erwachsenen. Gleiche Dynamik. In Ordnung? Und basierend auf dem, was Sie tun möchten, wie gesagt, wenn Sie um vier abnehmen wollten , wird es sein, ihn zu sehen. Ich sage num eins minus vier. Wenn Sie es multiplizieren möchten, machen Sie es viermal sein Original gültig. Und es wird mal sein. Wenn Sie es viermal unter seinem ursprünglichen Wert machen wollten , dann wird es geteilt usw. Wenn wir also über zusammengesetzte Operationen sprechen, tun wir das. Zusammengesetzte Zuordnungsoperationen Die Sache ist, dass wir bei jeder dieser Operationen tatsächlich den Wert von Num One ändern. Es geht also nicht darum , nur auszudrucken, dies ist das Ergebnis der Operation, es ändert sich tatsächlich. Also hier sehe ich merkwürdig, dass ich mich an welche Reihenfolge erinnere. Also fängt num eins mit 11 an. Wir gehen all dies oder das Sprinten durch, das ganze Ergebnis der Operation. Wir weisen nichts zu. Wir machen keine neuen Variablen die irgendeiner Variablen einen Wert zuweisen, dann sehe ich eine erhöhte Normalität eins um vier erreicht, dass der neue Wert, num eins an diesem Punkt nicht mehr lebt, er ist jetzt 15. Alle diese mathematischen Operationen sind also relativ dazu dass normale 15 und num2 immer noch nur 12 sind, weshalb wir die verschiedenen Ergebnissätze an diesem Punkt normal gesehen haben und immer noch 15 sind. Wenn ich sage, dass Plus gleich vier ist, ich es nicht von 1519 erhöhen , da es zu diesem Zeitpunkt bereits 15 ist, also füge ich vier zu 15 hinzu. Und dann sage ich hier, mach es 15 zurück, genau hier. Ich wollte sehen, ob 15 mal vier gleich 60 sind. Ich weiß, dass niemand einen Wert von 60 hat. Und dann sage ich hier geteilt durch vier, ich setze es wieder auf 15 zurück. Und dann sage ich Modulus vier. Das heißt also 15. Modul vier wäre, wenn meine Mathematik mir richtig drei dient. Also was wir tun werden, nur um zu testen, ob meine Mathematik noch auf dem Punkt ist. Ich werde unsere Konsolenpunkt-Schreibzeile machen. Und ich werde den Wert von Num One bei jeder Operation drucken . Dann können wir vergleichen, um zu sehen, ob mein Mund, den ich in den Kommentaren habe, richtig wäre. Okay, lassen Sie uns diese Anwendung erneut ausführen. Okay, jetzt ist es an der Zeit, meinen Mathe-Auftrag zu markieren. Also habe ich gesagt, dass der erste für Ockham 19 sein wird. Da sind wir los. Der zweite auf o con wäre 15, dann 60, dann zurück auf 50, und dann wäre der Modul drei. Also nein, jedes Mal ändern wir den Wert von Num One. Das ist sein Ganze, Sie können Variablen ändern. Wenn ich sagte, etwas zu erhöhen, alle Preise um fünf erhöht zu haben, dann weißt du, du kannst nur die Preiszeiten z gleich fünf sehen. Das würde es automatisch tun. 13. Bedingte Aussagen: Alles klar Leute, in dieser Lektion werden wir uns bedingte Aussagen ansehen. Ich habe dieses Projekt bereits erstellt. Mittlerweile. Sie sollten mit dem Erstellen eines Projekts vertraut sein. Sie können also einfach weitermachen, Pause drücken und fortfahren und dieses Projekt erstellen. Wenn Sie das getan haben, werden wir fortfahren und wir schauen uns bedingte Aussagen an. Bei bedingten Aussagen geht es wieder darum, eine Entscheidung zu treffen. Wir haben bereits besprochen, dass wir eine Reihenfolge haben, wir haben jedoch Entscheidungen, Wiederholungen. Entscheidungen über bedingte Aussagen scheinen also zu sein. Wir haben also im Grunde drei Möglichkeiten Entscheidungen in den meisten übergeordneten Sprachen zu treffen. Wenn ich also hochrangige Sprachen spreche, meine ich C-Sharp, Java, C , C plus plus und Sprachen wie Python, Ruby usw. Also haben wir wenn Aussagen, wir haben Switch-Anweisungen, dann haben wir Turner Betreiber. Die Syntax außerhalb des Kurses würde unterschiedlich sein, aber im Allgemeinen haben Sie Anweisungen, Switch-Anweisungen und ternäre Operatoren. Sie sehen alle genauso aus. die gleiche Weise wirklich in CC plus C-Sharp Java. Sie können in Ruby und Python in bestimmten anderen Sprachen etwas andere Interpretationen haben. Aber sobald Sie die allgemeine Idee verstanden haben, ist die Übernahme in eine andere Sprache wirklich nur eine Google-Suche entfernt. Obwohl ich einen C-scharfen Kurs mache, wollte ich Sie nur sofort zu den Realisierungspunkten bringen . Sie schätzen diese Konzepte innerhalb von C-Sharp, sie können auf jede andere Sprache angewendet werden , wie Sie es benötigen. Wenn Anweisungen im Allgemeinen von dem Gebrauch machen , was wir als bedingte Operatoren bezeichnen. Also haben wir uns nur Arithmetik - und Zuweisungsoperatoren angeschaut. Wir haben uns bedingte Operatoren angeschaut. Bedingter Operator, den wir zuvor gesehen haben, die Form eines w Gleichheitszeichens. Das bedeutet Äquivalente. Wie gesagt, das einzelne Gleichheitszeichen bedeutet nicht , dass die beiden Seiten gleich sind. Es bedeutet, dass ich das, was unter rechts ist, dem auf der linken Seite zuordne . Wenn wir jedoch das Doppelgleichheitszeichen sehen, bedeutet dies, dass alles, was auf der linken Seite ist entspricht, was Underwrite ist. Das ist ein Äquivalenzoperator. Sie haben auch weniger als, wir haben mehr als. Manchmal verwechsle ich die, also arbeite einfach mit mir. Wir haben weniger als ein Gleiches. Wir haben größer als und gleich. Wir haben nicht gleich, was nicht das Gleichheitszeichensymbol wäre. Dies sind im Allgemeinen die Betreiber. Und das sind wieder in den meisten Sprachen, die ich zuvor aufgeführt hatte. Sobald Sie also verstanden haben, wie Sie diese verwenden, können Sie sie fast überall sonst anwenden. Beginnen wir also mit einem einfachen Programm, um zu sehen, wie das funktioniert. Ich sage „int num“. Ich werde den Benutzer nur zur Eingabe auffordern. Also sage ich einfach Konsolenpunkt, schreibe Zeile, Enter, erste Zahl. Und dann sehen wir einfach, dass int num gleich konvertieren ist. Und ich schreibe einfach alles scharf, weil wir wissen , was wir tun. Und es ist sogar Visual Studio hilft mir. Also während du deine erste Nummer ansiehst. Und dann werden wir in 32 konvertieren, was auch immer in die Konsole kommt. Und uns fehlt ein Semikolon in dieser Zeile, weshalb ich diese rote Linie dort hatte. Okay, lass mich sehen. Visual Studio wird es wieder müssen. Nein, das ist nicht die Hüfte, die ich auf uns erhofft hatte. Also lass mich diese Zeile einfach kopieren. Ich wollte das Nummer eins nennen. Ich möchte das nicht num2 nennen. Und ich sage einfach, Gib deine zweite Nummer ein. Wir fragen den Benutzer nach einer Toolnummern. Betrachten wir nun einige bedingte Aussagen , die vernünftig wären. Was ist, wenn ich wissen wollte, ob taub eins größer als Num Tool ist? Ich würde anfangen und sagen, ob das ein Keyword ist. Aber beachte, dass es keine Aussage weil ich am Ende kein Semikolon brauche. Also werde ich sagen, es deutet darauf hin, dass Num One der Norm entspricht , was ich noch nicht da bin. Also wollte ich sehen, ob der normale größer als num2 ist. Dann habe ich einen Codeblock gestartet . Was würde ich gerne machen? Vielleicht würde ich gerne eine Lesezeile für Konsolenpunkte sehen. Sie haben, wissen Sie, lassen Sie mich, lassen Sie mich das ein bisschen mehr Kontext erstellen oder Anzahl der Äpfel eingeben. Num eins steht für Uploads. Hab ich nicht. Hier ist ein Beispiel dafür, dass ich gegen meine eigene Regel verstoße. Num eins sagt mir nicht, dass dies nach oben normal speichert, sagt hier Nummer eins, was ich für Uploads bitte. Es gibt also eine Trennung hier, also ist es besser, ich würde es Anzahl Äpfel nennen. Es ist also klar. Wenn ich jetzt eine Variable umbenenne und ich sie an mehreren Stellen umbenennen muss. Natürlich kann ich einfach durchgehen und kopieren und einfügen oder ich kann einfach Kontrolle und Punkte machen. Und dann sehen Sie die Option Umbenennen. Vom alten Namen zum neuen Namen. Wenn ich darauf klicke, wird es einfach alle Teile für mich durchgehen und neu gestalten. Das ist ein netter Produktivitätstipp für Sie. Ich will die Anzahl der Äpfel, die Anzahl der Orangen. Ich wollte diese eine Nummer von Orangen nennen. Und dann ging ich zum selben Kontrollpunkt und benannte JETZT die Anzahl der Äpfel um, die Anzahl der Orangen. Wenn die Anzahl der Äpfel größer ist als eine Reihe von Orangen, dann habe ich gesehen, dass Sie mehr Paare haben. Cool, nett und einfach. In Ordnung, das ist eine neue Aussage. Aber was passiert, wenn ich etwas anderes habe, nach dem ich suchen wollte? Da dies nur auf einmalige Bedingungen überprüft wird und es eine Aktion ergreift, ist eins bis fünf weitere Orangeie dann nach oben. Dann kann ich was anderes sagen. Dies wäre wie wenn dies der Fall ist, dann tu das. Ansonsten tu das. Ich sage, du hast mehr Orangen. Wenn die Anzahl der Äpfel größer ist als die Anzahl der Orangen, dann haben Sie mehr Äpfel, sonst haben Sie mehr Orangen. Aber das ist vielleicht nicht unbedingt der Fall, denn was ist, wenn sie gleich sind? Weil ich genau weiß, ich suche nur nach einer Bedingung, okay? Und explizit sehe ich nur, ob die Anzahl der Äpfel größer ist als diese, dann ist das keine faire Annahme, weil ich auf beiden Seiten die gleiche Nummer haben könnte , müsste ich einführen mehr Bedingungen für dieses Loch. Wenn dies überprüft, kann ich tatsächlich ein anderes Konstrukt namens L haben, das es mir ermöglicht, nach einer anderen Bedingung zu suchen. Ich kann sehen, ob dies der Fall ist, dass sonst, wenn dies der Fall ist, Anzahl der Orangen größer ist als die Anzahl der Äpfel. Oder ich könnte weniger sehen als, also benutze ich ein größeres als schon. Also lass mich sehen. Zahl aus. Gegenüber ist geringer als die Anzahl der Orangen. Ich zeige Ihnen nur, wie Sie die bedingten Anweisungen aufbrauchen . Betreiber, LLC. Wenn die Anzahl der Äpfel geringer ist als die Anzahl der Orangen, drucken wir Sie mit mehr Orangen. Was ist, wenn sie gleich sind? Ich kann noch einen anderen machen. Wenn die Anzahl der Uploads der Anzahl der Orangen entspricht, möchten wir noch etwas Code schreiben. Ich stelle fest, dass es für Sie nicht illegal ist, das andere auf die gleiche Linie wie eine geschweifte Klammer zu setzen. Ich bin, ich spreche eher das Modell, weil ich diese klare Unterscheidung will , da das Seltsame an einem Halt beginnt. Aber es ist nicht die LIGO, deinen Code so zu schreiben. Else-wenn das der Fall ist, dann tröste ich das. Lassen Sie mich einfach die gleiche Anzahl von Äpfeln und Orangen sehen . Das ist es, was ich auf die Konsole drucken wollte. Es ist eine große Entscheidung. Sie sehen also, dass Sie eine einfache Entscheidung treffen können. Sie können komplexe Entscheidungen treffen , die auf zwei verschiedenen Variablen und verschiedenen Dingen basieren , die auf zwei verschiedene Überlegungen geworfen werden und es wirklich genießen. Das sind alles große Verpflichtungen. Gibt es You Aussagen? Wenn Sie dies tun, erhalten Sie dieses Ergebnis. Das ist alles, was sie sind. Jetzt möchte ein ganzes Unternehmen erstellt, die Anwendung scheint ganz schöne Benutzeroberfläche ist und wie hoch das Ticket aussieht. Am Ende des Tages läuft alles auf eine Reihe von if-Aussagen hinaus. Wenn du diesen Knopf drückst, was mache ich? Wenn Sie diesen Wert angeben, was mache ich? Das ist alles was es ist. Alles klar? also keine dieser Bedingungen zutrifft, können Sie am Ende Wenn also keine dieser Bedingungen zutrifft, können Sie am Ende endlich eine andere große Anweisung abgeben, endlich eine andere große Anweisung abgeben die eine ungültige Eingabe sehen würde oder unsere direkte Aktion nicht berechnen konnte. So was willst du nicht. Wenn Sie diese erhalten, wenn Sie ein bestimmtes Volume und eine Anwendung eingeben, bekomme ich etwas zu sagen, das ein ungültiger Wert ist. Es bedeutet, dass alle if-Aussagen, die geschrieben wurden, nicht das berücksichtigt was Sie tatsächlich gemacht haben, sondern sonst sitzen. Ich weiß nicht, was ich tun soll. Ich kann nicht ich kann dir nicht helfen. In Ordnung. Was ist in dieser Situation? Wir müssen wahrscheinlich nicht so weit gehen, also werde ich es trotzdem entfernen , weil ich denke, dass wir alle potenziellen Ergebnisse abdecken alle potenziellen Ergebnisse basierend auf dem, was wir hier fragen. Die Zahl wird entweder größer oder kleiner oder gleichwertig sein . Zugegeben, Sie könnten alle einsetzen, die ich erstellt habe , gleich oder weniger als ein Gleiches usw., aber wir werden nicht auf all diese eingehen. Wisse nur, dass das Optionen sind. Und es offensichtlich, wenn es nicht gleich ist. Dann wird es entweder größer als r sein, weniger als das. So können Sie Entscheidungen treffen , wenn Sie im Code sind , dass Sie eine Entscheidung darüber treffen können, welche Art von Entscheidung. Unsere bedingte Logik, die Sie einsetzen müssen, um der Situation zu entsprechen, mit der Sie es zu tun haben. Sie können das testen, wenn Sie möchten. Sie können dieselbe Nummer eingeben, Sie können zwei verschiedene Zahlen eingeben. Stellen Sie basierend auf den Zahlen sicher, dass die bedingte Aussage das sprintet, was Sie erwarten. Ich werde fortfahren, um die Anweisungen zu wechseln. Sie können Pause drücken, testen und experimentieren, aber ich gehe weiter , um Anweisungen zu wechseln. Lassen Sie uns also sehen, dass wir, ähm, bewerten müssen, dass Watt in einer Variablen ist, und dann müssen wir basierend auf dem, was in der Variablen enthalten ist , Sauerstoff aufnehmen. In Ordnung? Also gebe ich Ihnen ein anderes Beispiel, das meiner Meinung nach praktisch ist. Ich werde um ein Einverständnis bitten. In Ordnung. Ich ging zur Abschlussnote und wir werden feststellen, ob Sie bestanden haben oder nicht. Jemand, der Integration sieht, ist gleich dem, was über die Konsole weitergegeben wird. Eine Switch-Anweisung beginnt also buchstäblich mit dem Keyword-switch. Dann setzen wir die Variable ein, die wir bewerten werden. Dies ist nicht auf ganze Zahlen beschränkt. Dies kann mit Stringy sein, kann mit Ladung sein, kann mit allem sein. Denn selbst wenn wir das Formular annehmen und MRF sagten, hätte ich leicht eine Switch-Anweisung R&D-if-Anweisung eingeben können um zu sehen, ob m dann Mahlzeit drucken, wenn F dann weiblich drucken oder wechseln, ähnlich dem, was wir tun können. Also zeige ich Ihnen nur, dass es nicht auf ganze Zahlen beschränkt ist. Ich mache nur dieses Zimmer. Also kann ich so etwas wie den Schalter sagen, ich kann einen Fall angeben CC oder Visual Studio darauf wartet, dass ich abhole. Und fortlaufend kann ich Fall 0 sagen. Was möchte ich machen? Schreibzeile für Konsolenpunkt, Sie sind fehlgeschlagen. Nette und einfache Botschaft. Dann muss ich jeden Fall mit Ausbruch beenden . So ziemlich das war's. Alles klar. Was auch immer Sie zwischen diesem Doppelpunkt und dem Schlüsselwort-Umbruch tun , wird ausgeführt, wenn dies tatsächlich der Fall ist, wo wir den Wert Ihres Rasters betrachten. Grid war wahrscheinlich kein so gutes Beispiel , da der Fall sehr spezifisch sein muss. Im Gegensatz zu der if-Aussage, bei der ich so größer als das oder das Skript sehen könnte größer als , und das ist , dass ich mit einem Wert spezifisch sein muss. Ich kann also nur Schlüssel 0 sehen. In diesem Fall kann ich Schlüssel eins oder Zinn sagen. Und natürlich, welcher Wert ich verwende, ist relativ zu dem, worauf ich suche. Hier würde ich sagen Console.WriteLine, du hast zehn Mark. Wenn der Wert zehn ist, wird er hierher gehen. Wenn der Wert 0 ist, wird er dorthin gehen. Aber wenn es nicht zehn ist, ist es nicht 0 und es ist eine gültige die in den Fällen nicht berücksichtigt wird, dann möchten wir Ihnen diesen Standard geben. Standardwert bedeutet also, dass ich das tun werde, wenn alle anderen Felder. Alles klar, also break, console.WriteLine, ungültige Noten. Wenn wir also 1 Tausend I eingeben würden, wir nicht für Punkt 1 Tausend in all dem weitergehen, dann würden wir einfach auf 1 Tausend in all dem weitergehen, den Standardwert gehen, der wie die Standard-else-Anweisung, dem Catch-All, wäre . Keine andere Bedingung wurde erfüllt, also mach dies einfach standardmäßig. Das ist das Keyword hier. Wenn ich unsere Reichweite innerhalb meiner Switch-Anweisungen wollte, die hier sinnvoller sind, wenn man bedenkt, dass der Grad normalerweise zwischen 0 60 für den Ausfall und dann 6060 bis 100 für die Pause liegt. Und dann würde der Standardwert alles außerhalb von 0 bis 100 darstellen . Dann würdest du wahrscheinlich etwas wie Schlüssel machen wollen, int. Wähle einfach eine Variable aus, wann. Dann sehen Sie hier, mal sehen, dass es heute großartig ist. Sorry, kleiner oder gleich dem Wert von 60. Alles klar. Dieser Punkt, der gerade eskaliert ist, oder? Ich bin sicher, Sie verstehen bereits, wie Sie Schlüssel gegen einen einzelnen Wert machen. Wenn Sie 102030406998 überprüfen wollten, haben Sie nur die Schlüssel zehn, oder? Was möchtest du schreiben? Break, Fall 20 usw. Und du würdest weitermachen, wenn du willst, dass sie denselben Block teilen, dann würdest du eigentlich einfach wie die Schlüssel 101112 sagen und all diese Fälle würden nur diesen einen Codeblock verwenden. Also ja, es ist nicht blockiert, aber es gibt keine offenen und schließenden Klammern wie Sie wechseln müssen. Es ist nur der Doppelpunkt. All diese würden also alles teilen was hier vor dieser Pause passiert. Dies ist eine Möglichkeit, verschiedene Bedingungen für verschiedene Werte dasselbe zu haben. Natürlich ist das mühsam, wenn Sie zwischen 0 und 60 prüfen , da dies bedeuten würde , dass Sie 60 Fälle haben müssen. Ist 61 Fall 0 bis 60, um auf Fehler zu prüfen. Das wäre nicht praktikabel. Was ich Ihnen jetzt zeige, ist, wie Sie unseren Bereich für eine Reihe von Werten machen können . Genau hier werde ich den Fall sehen. Und dann int n. So n ist wie in Prozessdarstellung des Wertes, den wir bewerten. Und dann wirst du sehen, wann ich denke, dass diese Klammern optional sind, wenn sie int n sind, wenn dieses n, was auch immer n ist, was auch immer dieser Wert ist und repräsentiert dieser Wert ist kleiner als oder gleich 60, dann druckst du, du hast mit welchem Wert fehlgeschlagen. Und sobald es kleiner oder gleich 60 ist, dann werden Sie ein Feld einsetzen. Damit ich jetzt den Fall int n. überprüfen kann , wenn n größer als 60 ist. Dann können wir sagen, dass du bestanden hast. Das ergibt Sinn. 60 ist also die Passmarke, du glaubst, dass 61 das Passwort ist, sagen wir größer oder gleich 59. Ja. Alles klar. Prüfen Sie, ob es größer oder gleich 59 ist. Weniger als oder gleich 59, tut mir leid, das bedeutet, dass du versagt hast. Wenn es jedoch größer oder gleich 60 ist , pausieren Sie. 60 ist also die Passmarke nach oben. Wenn ich jedoch genug tausend setze, ist das kein gültiger Wert. Es gibt also eine andere Situation, in Sie manchmal mehrere Bedingungen benötigen , um mehrere Bedingungen in derselben Entscheidung zu haben. In Ordnung, hier müssen wir das verwenden, was wir den und Operator nennen. Und Betreiber wären es, und sie haben auch unsere Betreiber, die RR sein würden. Das ist also, das sind Rohre und das sind Ampersands. In Ordnung? Jedes Mal, wenn Sie zwei oder mehr Bedingungen innerhalb derselben Entscheidung angeben möchten , wie in diesem Fall, wollte ich sicherstellen, dass sie größer oder gleich 60 ist. Es ist auch weniger als oder gleich 100. Ich kann also sehen, wann n größer oder gleich 60 ist kleiner oder gleich 100 ist. Ich habe kein Standardenglisch gemacht. Das wäre wie zwischen 6100 zu sagen. Das ist es, was die Anden , in Ordnung, also wenn es so ist, da es über 60 ist, aber auch weniger als 100, einschließlich dieser beiden Werte, dann können wir Ihnen alles überlassen lassen, was außerhalb davon ist eine ungültige Note. Meine Herausforderung für Sie wäre also, dies zu ändern, um sicherzustellen , dass es eine ungleich Null erzeugt. Es ist nicht negativ. Negativ würde über tausend eingeladen werden, ist ungültig. Das ist also meine kleine Herausforderung für Sie basierend auf diesem Beispiel, ändern Sie diese Fallanweisung, um sicherzustellen , dass es nicht weniger als 100 ist. Wie gesagt, Sie können in diesem Abschnitt so viele Aussagen haben , wie es nötig ist. Wenn Sie also drucken möchten, gehen Sie mehrmals durch, solange Sie dies tun, bevor Sie die Pause einschlagen, dann haben Sie kein Problem. Dies ist eine andere Möglichkeit, eine Entscheidung innerhalb unserer C-Sharp-Anwendung zu treffen. Der letzte ist ein ternärer Operator, der wie eine einzeilige Version einer einfachen if-Anweisung ist . Nehmen wir an, dass ich die zu druckende Nachricht basierend auf der Bedingung hier ermitteln wollte . Ich könnte leicht so etwas wie eine Nachricht sagen. Nehmen wir an, dass die var-Nachricht gleich ist. Und dann überprüfe ich den Zustand. Mein Zustand wäre, wenn die Anzahl der Äpfel größer ist als die Anzahl der Orangen, dann möchte ich meine Botschaft machen b. Du hast mehr Äpfel. Sonst wird meine Nachricht sein, dass du mehr Orangen hast. Es gibt so viele Möglichkeiten , dies zu tun. Dieser Turner-Betreiber kann sich auf vielerlei Weise als nützlich erweisen. Ich muss die Nachricht einfach ausdrucken, anstatt die ganze if-Anweisung hier zu haben. Wenn und sonst, wenn du nur einen Abzweigburrito haben könntest , kein Nachteil. Also werde ich unsere Arbeiten so einfach wie sie sind, ist, dass sie im Allgemeinen nur eine Bedingung haben , damit sie nicht als Ganzes komplex werden. Wenn ein Block Ihnen mehrere Variationen verschiedener alter Spalten usw. geben kann , wäre er einfach so, ist diese Bedingung wahr oder falsch? Wenn es wahr ist, bezeichnet mit dem Fragezeichen, dann ist dies der Wert, den ich innerhalb dieser Variablen platzieren möchte . Wenn es falsch ist, der durch den Doppelpunkt bezeichnet wird, dann ist das der Wert , mit dem ich arbeite. Und das funktioniert so ziemlich überall. Wenn ich einen booleschen Wert wollte, was brauche ich einen ternären Operator für Boolean. Das ist eine Aktivität für Leto Zeit. Jetzt habe ich dir die Herausforderung gestellt, dies zu ändern, um den Bereich anzuzeigen. Was ich hier getan hätte, sagen wir int n, wenn n größer oder gleich 0 ist, kleiner oder gleich 59 ist. Und das war's Wirklich. Das ist zwischen 059, du hast gescheitert. Zwischen 100 halten Sie inne. Und dann können Sie, wie gesagt, die Schlüssel zusammenbauen lassen. Also lasst uns sehen. Ich zeige es dir einfach, hinterlasse dir ein Beispiel für einen einfachen Fall. Sagen wir, k ist 101, das sieht den Wert. Und dann sage ich einfach Konsolenpunkt-Schreibzeile. Beispiel für einen Einzelfall. Wenn Sie Fälle 101 gemacht haben, ist das ein Einzelfallbeispiel. Diese rote Linie ist da , weil ich eine Pause brauche. Alles klar, also auf jeden Fall muss eine Pause folgen. Sie können diese Anwendung ausführen. Wir werden aufgefordert, zwei Werte einzugeben , oder es tut mir leid, ich bin immer noch unter dem falschen. Lassen Sie mich es also in bedingte Aussagen ändern und versuchen Sie es noch einmal. Dann müssen wir die Anzahl der Äpfel eingeben, jemanden, der zehn sagt, und dann eine Reihe von Orangen auf dem, was Sie bei 20 sehen. Und dann bekomme ich die Nachricht. Sie haben mehr Orangen, weil die Anzahl der Orangen tatsächlich größer war als die Anzahl der Kunst, die Anzahl der Äpfel war in der Tat geringer als die Anzahl der Orangen. Also habe ich mehr Orangen richtig. Wenn ich jetzt in die Note eintrete, bin ich zur 50 gegangen, dann hast du gescheitert und wusstest es nicht. Nun, das ist die Botschaft des ternären Operators. Lassen Sie mich einfach kommentieren, dass dies Verwirrung vermeiden sollte. Aber versuchen wir es noch einmal. Wenn ich zehn für Äpfel und Orangen eingebe, 1010, hast du die gleiche Anzahl an Äpfeln und Orangen. Danke. Und wenn ich dann 101 eingebe, wird es ein Einzelfallbeispiel geben. Noch ein Test. Ich werde nur die If-Anweisungsoperationen auskommentieren , die ohne Debuggen ausgeführt werden, sodass sie etwas schneller in die Endnote geladen werden. Wenn ich eintrete, fällt einer unter etwas Größeres als dann wird ein ungültiges Raster angezeigt. Konnte diesen Fall nicht erfüllen. Es konnte diesen Fall nicht erfüllen. Es brauchte diesen Fall nicht, also ging es zur Standardeinstellung. So ziemlich funktionieren bedingte Aussagen in C-Sharp. 14. Repetition: Willkommen zurück Leute. In dieser Lektion werden wir uns Wiederholungsaussagen in C Sharp ansehen. Regel gibt es keine Wiederholungsaussagen in einigen Formen. Wir haben eine for-Schleife, wir haben eine While-Schleife. Du hast die While-Schleife gemacht. Sie haben andere, die ich in dieser speziellen Lektion nicht erforschen möchte, aber ich werde ehrenvolle Erwähnungen machen. Und das ist nämlich, naja, vor jeder Schleife. Konzentrieren wir uns auf diejenigen, die in der allgemeinen Programmierung allgemein vorherrschend sind . Wieder einmal versuche ich Ihnen immer zu zeigen, wie Sie kurz ein Ganzes abgeben können, um das, was Sie hier in C-Sharp lernen, in einer anderen Sprache anzuwenden . For-Schleifen, während Schleifen während Schleifen machen, sind diese in jeder anderen Sprache verfügbar. Die for-Schleife nennen wir eine kontergesteuerte Schleife. Im Grunde bedeutet, dass ich dafür viele Male eine Schleife machen werde. Es gibt also einen Zähler, der auffällt, wie oft Sie bereits gelaufen sind und wie oft er laufen muss. Dann haben wir das, was wir als bedingungsgesteuerte Schleife bezeichnen. Dieser ist eine Vorprüfung, was bedeutet, dass er den Zustand überprüft. Also haben wir uns nur die aufgelösten Bedingungen oder bedingte Aussagen angeschaut . Also wird es nach Deshawn nachsehen. Und wenn diese Bedingung nicht zutrifft, wird sie weitergehen und die Schleife machen. Und es wird den Zustand weiter überprüfen , bis es wahr ist und dann wird es aufhören. Und dann haben wir die Do-while, die nur eine invertierte While-Schleife ist, wo die Überprüfung am Ende durchgeführt wird. Es wird es also mindestens einmal tun und danach prüfen, ob die Bedingung erfüllt ist, und fahren Sie dann fort. Für jeden, wie ich sagte, ehrenwerte Erwähnung. Wir werden uns später ein kurzes Beispiel dafür ansehen. Schauen wir uns eine Vier-Schleifen-Syntax für eine for-Schleife an, die vier ist und öffnen und schließen Sie dann Klammern. Und dann sagen wir int. Und im Allgemeinen sehen Sie in den meisten Beispielen, die Sie im Internet sehen werden, dass die verwendete Variable keine Relevanz hat, wenn der Buchstabe I für das Gericht keine Relevanz hat. Ich hätte die Norm benutzen können, ich hätte den Zähler benutzen können. Alles, was es ist, ist ein Bezugspunkt für die Variable verfolgen wird wie oft dies ausgeführt wird. Ich denke, der am häufigsten verwendete Buchstabe ist , weil er das Wort Inkrement darstellt. Inkremente bedeutet zu jedem Zeitpunkt. Also kann ich mir sicher sein, dass es für Inkremente ist. Aber es könnte auch ein Inkrement gleich sein, um auch ein Recht zu sein. Ich werde nur mit mir fortfahren , weil es die am häufigsten verwendete Variable ist, aber wieder einmal keine wirkliche syntaktische Relevanz hat. Also definieren wir eine Variable, im Allgemeinen eine Ganzzahl, geben ihr einen Namen und weisen ihr dann ganz am Anfang den Wert 0 zu. Beachten Sie, dass Visual Studio es für mich automatisch abschließt, aber ich möchte, dass wir jede Komponente dieses Codes richtig verstehen . Also werde ich mit dem Typ nicht automatisch vervollständigen und erklären, während ich weitermache. Dieser erste Block definiert also die Variable, die wir als Inkrementer benötigen. Beachten Sie, dass ein Semikolon es beendet. Der zweite zu tippende Block auf Mobilgeräten stellt den Wert dar, bei dem ich sein wollte, wenn wir die Schleife verlassen. Ich kann also sagen, dass ich weniger als fünf oder zehn bin, egal welchen Wert ich dort lege. Wenn ich fünfmal laufen wollte, sehe ich weniger als fünf. Nein, warum sollte es fünfmal ruinieren, selbst wenn ich sage, dass ich weniger als fünf bin, weil ich meinen Kontakt 0 beginne. Wenn du es also an deinen Finger machst, lese ich einfach hier, damit wir es so klar wie möglich sehen können . 012345, das ist 123456 mal. Du siehst, wenn ich von 0 zähle und dann auf die Nummer fünf gehe, das sind eigentlich sechs. Deshalb sage ich, dass es weniger als fünf sein muss. In dem Moment, in dem es fünf erreicht, bedeutet also, dass ich meine Anzahl an Läufen überschreite. Also 010 ist eins, das ist zwei, das sind drei, das sind vier, das sind fünf. Wenn die Inkremente , die die Fünf ändern, wird feststellen, dass fünf nicht mehr weniger als fünf sind. Siehst du was ich sehe? An diesem Punkt wollte ich aussteigen. Dies ist also die Exit-Bedingung für die Schleife. Ich wollte von 0 auf vier laufen, was 12345 mal wäre. Wenn ich also wollte, dass es zehnmal läuft, liegt es zwischen 0 und ich weniger als zehn. Nur damit Sie erkennen können, warum wir bei 0 anfangen und dass wir weniger als die gewünschte Zahl sehen. Es gibt verschiedene Möglichkeiten, dies zu schreiben , aber im Allgemeinen sehen Sie es so geschrieben. Also erkläre ich es einfach. Verstehen Sie, warum es bei 0 beginnt, unser weißer Pfeil statt weniger als die Zahl. In Ordnung? Nein, der nächste Block. Ist unser Inkrement, in dem alles, was wir zu sagen haben, ist ich plus plus. Früher haben wir uns die Operatoren der zusammengesetzten Zuweisung angesehen . Das sind Akkumulatoren, was bedeutet, dass Sie dem Ursprung des Wertes tatsächlich einen beliebigen Wert hinzufügen und eine Variable zurücksetzen. Dies ist ein Inkrementer, der standardmäßig nur plus eins sieht. Das ist fast dasselbe wie das Sehen, soll gleich I plus eins sein, was, wenn wir unsere Akkumulator-Technik verwenden , wäre ich plus gleich eins, was auch geschrieben werden könnte plus gleich eins gleichheitszeichen, das auch als Plusplus geschrieben werden könnte. Das ist alles, was wir tun. Wir erhöhen es jedes Mal um eins. Deshalb habe ich gesagt, dass es ein Kegel ist, die kontrolliert werden. Jetzt könnte das ich plus zwei sein. Es tut mir leid, wenn ich wollte, wird es um zwei erhöht. Ich müsste sagen, dass ich plus zwei gleich bin. Es würde um zwei steigen. Wenn du also zu zweit springen wolltest von 0 bis zehn gezählt wirst, dann würde es 0 ruinieren, dann zwei, dann vier, dann sechs, dann in dann zwei, dann vier, dem Moment, in dem es quantitativ wäre, würde es herausspringen. Also zeige ich dir nur die verschiedenen Iterationen, aber auf einer sehr grundlegenden Ebene ich außerdem noch einmal nicht so wichtig. Dies könnte Norm sein, das könnte ein Zähler sein. Und wenn ich hier Doppelpunktvariabel sage, bedeutet das, dass alles, was ich hatte, als Iodixanol relativ zum Wortzähler. Das sieht also eine for-Schleife in den meisten Sprachen auf hohem Niveau aus. In Ordnung, ich werde mit I fortfahren. Wenn ich die Zeile console.log darin mache, kann ich das drucken, weißt du, ich in einer Schleife. Also sprinte ich nur die Linie, in der ich bin. Es wird erwartet, dass dies so oft gedruckt wird , wie ich es definiert habe, was zwischen 0 und zehn oder 00 bis neun liegen würde, was zehnmal so hoch wäre was ich in diesen Block steckte, würde so oft wiederholt werden , wie wir hier definiert haben. Das heißt, wenn ich nach der Schleife etwas machen möchte, muss ich es außerhalb dieses Loop-Blocks ablegen. Hier sehe ich die Lesezeile des Konsolenpunkts und wir drucken einfach eine leere Zeile, indem wir nichts dorthin legen, es wird nur eine leere Zeile drucken. Und dann werde ich in dieser Zeile nur sagen, dass eine for-Schleife beendet ist. Ich wollte diese Zeile zehnmal drucken. Und am Ende sagen wir , dass eine for-Schleife beendet ist. Also ändere natürlich deine Projekte und lass uns laufen. Und wenn es dann Anklage braucht, siehst du hier 12345678910 mal, und dann ist die Schleife fertig. Das bringt die Wiederholung mit sich, denn wenn ich das zehnmal drucken wollte, hätte ich zehnmal das Festnetz der Konsole schreiben müssen, was nicht praktikabel ist. Wenn ich es vergrößern wollte, müsste ich zurückgehen und es noch viele Male in einer for-Schleife schreiben , ich kann das einfach auf 20 ändern. Es hat 20 Mal 25 ruiniert, damit es 25 Mal läuft, fünfmal, um es laufen zu lassen und weniger Mal, oder? nur für ein paar weitere Kontexte zeige ich Ihnen, was der Wert ist. Also lade ich die Konsole, um den Wert des Zählers auszudrucken. Ich wollte den Zählerwert Doppelpunkt sagen. Und dann werde ich einfach interpolieren oder variabel, was unser Zähler ist. Denken Sie also daran, dass jedes Mal dies zunimmt, und dann wird es zurückkommen und überprüfen. Hat die Erhöhung dazu geführt, dass ich die Zahl überschritten habe? Wenn nicht, dann führe irgendwelche Kommentare aus, Buck, habe eine Zahl überschritten. Null kommt Box. Jedes Mal, wenn es ruiniert, erhöht es und prüft, erhöht und schüttelt es. Sie werden also sehen, dass es zwischen dem Startwert 0 und dem Wert von vier läuft zwischen dem Startwert 0 und dem Wert von , da es bei fünf Jahren dagegen verstoßen würde. Lass uns das versuchen. In Ordnung, also laufe ich von 0 auf fünf jetzt siehst du, dass die erste Zeile 0 braucht, dann ging es weiter. Der zweite Lauf ist 0, tut mir leid, 1D und 2D und 3D und 4D. Und in dem Moment, in dem du auf fünf erhöht wärst, sprang es heraus und ging dann zum Rest des Codes. Und das ist so ziemlich alles, was unsere for-Schleife tut. Jedes Mal, wenn Sie etwas haben, das Sie für eine bestimmte Anzahl von Malen wiederholen möchten , ist die for-Schleife Ihr Bestes. Okay, jemand, der das gerade auskommentiert. Und dann springen wir runter zur While-Schleife. Die While-Schleife wird eine etwas andere Syntax haben . Nummer eins, ich wollte ihm eine Form von Zähler geben. Es gibt also eine Reihe von Anwendungen für die While-Schleife. Lass mich, lass mich mit der Syntax beginnen . Erstens siehst du eine Weile, dann gibst du ihm eine Bedingung. Also haben wir uns bereits eine Bedingung angeschaut , dieselbe Art von Bedingungsanweisung mit weniger als, größer als usw., die Sie in einer if-Anweisung verwenden würden , die dieselbe Bedingung ist Sie innerhalb des während. Ich kann sehen, während eine Variable namens n weniger als fünf ist. Deshalb habe ich gesagt, dass ich dir den Zähler geben würde , denn es gibt Zeiten, in denen du etwas für eine feste Anzahl von Malen tun wolltest , du musst einen Truck fahren als die Anzahl der Male du muss manuell gehen und eine Variable erstellen. Das ist, du benutzt einen 0-Zähler. Dann wirst du es einer Bedingung geben. Es ist fast wie das, was wir zwischen diesen beiden Teilen gemacht haben. Und dann müssten wir diesen Teil außerhalb des kleinen Abschnitts der Schleife machen. Lasst uns also weitermachen. Ich zeige dir die beiden Möglichkeiten. Ich werde Ihnen nur eine zeigen, wenn er die Bedingung basierend auf bestimmten Elementen gegenüber einem erfüllt , wir müssen es auf konterkontrollierte Weise tun. Sagen wir, ich möchte eine Schreibzeile für Konsolenpunkte. Und ich wollte sehen, gib mir eine Zahl, eine Nummer eingeben. In Ordnung, dann lasse ich n diesen Wert von der Lesezeile der Konsole bekommen . In Ordnung. Ich frage den Benutzer nach einem Wert. Ich übernehme den Input. Und dann werde ich am Ende drucken, das Sie eingegeben haben. Sie haben die eingegebene Zahl eingegeben, die n ist, setzen Sie auf das Dollarzeichen. Also lassen wir eine Input-Interpolation funktionieren. Dies ist keine konterkontrollierte Situation. Dies ist eine Situation, in der überprüft wird ob n weniger als fünf ist. Während diese Bedingung zutrifft, führen Sie bitte die Schleife aus. Egns fängt bei 0 an. Wenn es diesen Check macht, wird es sagen, nun, okay, ich habe diesen Code ausgeführt. Wenn n die Bedingung nach dem Drucken immer noch erfüllt , teilte ich den Bildschirm mit, dann habe ich es erneut ausgeführt und es wird weiter ausgeführt , bis diese Bedingung erfüllt ist. Das ist also keine konterkontrollierte Situation. Denn wenn ich 100 Zahlen eingebe , die alle weniger als fünf sind, würde diese Schleife kontinuierlich laufen bis ich etwas eingebe , das größer als fünf ist. Das ist also, das sind zustandsgesteuerte Schleife. Es kann Zeiten geben, in denen Sie es brauchen , um eine Gegenkontrolle zu haben. Und an diesem Punkt setzen Sie den Arzt tatsächlich Ihren manuellen Schritt ein, um Ihren Zähler entsprechend zu erhöhen. Hier werde ich die Doppelpunktstudie entsprechend erhöhen. Nur um sicherzugehen, dass ich natürlich keine Benutzereingaben übernehme. Lassen Sie mich also einfach die Situation der Zustandskontrolle behalten und lassen Sie uns testen. Hier sehen wir, dass Eingaben Zahl sind. Denken Sie daran, was das in diesem E15 laufen wird und bei 0 gestartet wurde. Und wenn ich dich in einen stecke, wird es sagen, dass du einen eingegeben hast, aber es hat es noch einmal überprüft und sieht das, okay, ich bin immer noch in einer Schleife. Geben Sie eine weitere Nummer zwei ein. Und dann wird es für so viele Zahlen wie ich eintrete, die weniger als fünf sind eintrete, die weniger als fünf sind, immer weiter schleifen und aufsitzen. Es wird mich niemals etwas tun lassen, das gegen den Zustand verstößt , in dem codiert wurde. In dem Moment, in dem ich zehn eintrete, wird es verlassen. Hier. Ich kann sehen, wie die Schleife beendet ist, weil ich endlich etwas eingegeben habe, das die Bedingung gebracht hat. In Ordnung, das ist es so ziemlich für die While-Schleife. Die While-Schleife würde also tatsächlich in einer Endlosschleife bleiben. Ich weiß nicht, ob du diesen Ausdruck schon mal gehört hast. Eine Endlosschleife, die du wahrscheinlich schon einmal in einem Film gehört hast. Aber das ist es. schlecht konstruierte While-Schleife kann in einer Endlosschleife enden, in diese Schleife niemals aufhören würde und sogar schwerwiegende Folgen für Ihr System haben könnte . Langfristig. Sie möchten immer sicherstellen, dass Sie diese Bedingung erfüllen. Oder vielmehr schreiben Sie die Bedingung so, dass sie erfüllt werden kann , um die Schleife verlassen zu lassen. Dies ist eine Exit-Bedingung. Schauen wir uns nun die Will an, von der ich nicht erwähnt habe, ist nur eine invertierte Version der While-Schleife, aber es macht die Überprüfung am Ende, oder? Also nehme ich auf, nehme unsere Variable namens n initialisiere sie wieder auf 0. Und dann werde ich sehen, öffnen sie einen Block? Okay, hier ist die Syntax anders. Wir sagen, öffne den Block und dann sagen wir während ich, dann haben wir die Bedingung n ist weniger als fünf. Das ist ziemlich festhalten. Lassen Sie mich das vorerst aussprechen. Also haben wir eine Variable und genauso wie wir die Variable bekommen und die Konditionierung bekommen mussten . Wir müssen hier dasselbe tun, außer dass die Bedingung am Ende ist, was bedeutet, dass es diesen Teil immer zuerst erledigen wird, unabhängig davon, wie die Bedingung ist, wenn es sich um METAR-Knoten handelt, wird es dies tun mindestens einmal. So nennen wir es also nach dem Scheck. Es wird nachher überprüft. Wenn wir den gleichen Code wie das Do-Wire verwenden, während dies, tut mir leid, innerhalb der Zeit das tun wird. Danach wird überprüft, ob n noch weniger als fünf war. Probieren wir es also aus. Eins. Siehst du hier, es springt hoch. Es fragt mich nach einer Nummer. Wenn ich zehn eingebe, was größer als fünf ist, wird es gedruckt und dann wird es prüfen und sehen , dass ich es überschritten habe. Also tu es nicht mehr. Das ist so ziemlich alles, was es gibt. Sagen Sie, wenn ich diesen Wert anfangs auf zehn gesetzt hätte, was offensichtlich gegen diesen Zustand und einen Pfeil verstoßen würde . Und es wird mich immer noch um einen Wert für n bitten , denn was es betrifft, muss es dies mindestens einmal tun. Hab ich nicht. Wenn ich das auf zwei ändere, wird es immer noch in der Schleife sein da n jetzt weniger als fünf ist. Wenn ich es auf vier ändere und er wird mich weiter schleifen bis ich die Bedingung überschreite. Das ist eine Weile? Nein, wir haben uns die Wille, die Where und die for-Schleife angeschaut . Die für jede Schleife würde ungefähr so aussehen, aber dies wird normalerweise für Listen verwendet die Kollektionen sind, die wir uns später ansehen werden. Aber im Grunde gesagt, dass ich für jeden Gegenstand oder jede Rate oder jedes Objekt innerhalb unserer Sammlung sage, wollte ich dies tun. Dies ist also nützlich, wenn Sie nicht unbedingt wissen, wie oft Sie es tun möchten und Sie nicht unbedingt eine Bedingung haben , unter der Sie aufhören können. Sie können einfach das für jeden verwenden, um zu sagen, gehen Sie einfach jede einzelne anstelle der Sammlung durch und tun Sie dies, aber wir werden uns das später ansehen. Also bin ich nicht wie gesagt, es war wirklich nur eine ehrenvolle Erwähnung. Wissen Sie, ich habe das für jede Schleife sehr schnell angesprochen, weiß nur mit Visual Studios, Codehinweisen und Vorschlägen. Die Sache ist mit diesen, Sie können tatsächlich schnell anfangen, nach zu tippen und dann zweimal die Tabulatortaste drücken. Es wird diesen Codeblock für Sie generieren. Das Gleiche für tun, das Gleiche für eine Weile. Ich bin so ziemlich, dass es für jeden Block funktioniert. Wenn ich zweimal Tab sagte, wird diese IF-Anweisung angezeigt, wenn ich sage, zweimal tippen zu wechseln, tut es das. Also zeige ich Ihnen , dass Sie es nach der Tatsache weil ich wirklich die Praxis des Tippens bekommen wollte, sagte er von Grund auf, Sie es schätzen können. Und einige dieser Verknüpfungen glauben nicht , dass sie in Visual Studio Code so gut funktionieren. Es ist also immer noch gut, den ganzen Typ oder die Syntax unabhängig zu verstehen . In Ordnung. An diesem Punkt werde ich einfach die letzte Konsole anziehen, anstatt nach der Zeit wie ich es für die Zeit und die vier getan habe . Und das ist es, um etwas über Wiederholungsaussagen zu erfahren. 15. Methoden – Void: Hey Leute, willkommen zurück. In dieser Lektion werden wir uns Methoden oder Funktionen ansehen. Also werde ich beide Wörter austauschbar verwenden , weil sie die gleiche Art von Konstrukt darstellen , das wir uns in C-Sharp und vielen anderen Programmiersprachen zur Verfügung haben . An diesem Punkt habe ich das neue Projekt bereits erstellt, damit Sie auf Pause klicken, das neue Konsolenprojekt hinzufügen können, und wir nennen es Methoden. Sobald Sie dieses Wochenende fertig sind, fahren Sie fort. Wir haben also zwei Arten von Funktionen in den meisten, wenn nicht allen Programmiersprachen, und es sind ungültige Funktionen und wertrückkehrende Funktionen. Vermeiden Sie also die angezeigte Form im Grunde genommen eine Aufgabe und bewegen Sie sich dann entlang unserer Ausgänge. Dann schließt die Wert-Rückgabe eine Aufgabe ab. Ja, was ist es stellt auch sicher, dass es ein Ergebnis zurückgibt. Sie können immer etwas von der Value Returning-Funktion zurückholen. Die void-Funktion gibt nichts zurück, man macht einfach etwas und bewegt sich weiter. Bei der Definition von Funktionen können Sie am Ende drei Teile und neue BSN-Kontexte haben, die Sie möglicherweise nicht unbedingt benötigen. Sie würden am Ende einen Prototyp haben, im Grunde definiert, dass die Funktion ein Funktionsheader ist, um den Typ zu sehen, ob er ungültig oder zurückgegeben wird, sowie den Namen und die zu erwartenden Parameter. In Ordnung, das hat der Prototyp. Dann haben Sie die Definition, die normalerweise den Code enthält. Es enthält den Codeblock für den gezeigten Schaum. Was macht die Funktion? Es führt etwas aus. Dann hätten wir innerhalb des Codes den Funktionsaufruf. Dies ist der eigentliche Code, der eine Funktion ausführen lässt. Weil unsere Funktion dort sitzen wird und auf die Qualität nichts bewirken wird. Das ist also wirklich das, was die Funktionskollegen haben. Wir haben also den Prototyp, wie eine Definition ist, die irgendwie optional ist, Sie müssen möglicherweise nicht immer einen Prototyp machen, aber Sie haben immer eine Definition und Sie habe immer einen Funktionsaufruf. Und das ist der entscheidende Teil. Jetzt haben wir mit ein paar Funktionen interagiert , um in unserem Code zu wissen, wo wir Hello World geschrieben haben und alles, unsere Schreibzeile, das ist eine Funktion. Alles klar, wenn Sie also Konsolenpunkt schreiben Sie eine Zeile, die eine Funktion ist. Der Name der Funktion ist die rechte Zeile. Und ich denke, dass es per definitionem eine ungültige Funktion wäre , weil es nichts in die Schreibzeile der Konsolenpunkte zurückgibt. Und dann sind Funktionen normalerweise durch offene und schließende Klammern gekennzeichnet. Zumindest ist das ein Funktionsaufruf. Das nennen wir diese Funktion. Seine Definition befindet sich irgendwo in dieser Codedatei. Und wenn wir es uns ansehen, werden Sie sehen, dass es sich tatsächlich um eine ungültige Funktion handelt. Okay, also siehst du, dass all das zusammenkommt. WriteLine ist also eigentlich eine ungültige Funktion im Gegensatz zur Lese-Zeile, die eine andere Funktion in der Codedatei ist , die Parameter annimmt. Sicher, aber dieser ist tatsächlich ein zurückgegebener Wert, der eine Zeichenfolge zurückgibt. Wenn wir über den Typ sprechen, ist er entweder ungültig oder hat einen Datentyp. Als Wissenschaftler kennen wir die Datentypen. Es kann einen Wert eines bestimmten Datentyps zurückgeben , nachdem er seine Funktion wie die rote Linie ausgeführt hat. Oder es kann ungültig sein, wo er einfach etwas tut, keinen Wert zurücksendet. Du würdest dich fragen, okay, warum brauchen wir also Funktionen? Nun, Funktionen sind eine gute Möglichkeit wiederholbaren Code oder Code zu verpacken, den wir wiederholen müssen. In Ordnung, also ist eine der Grundlagen der Programmierung trocken. Das ist ein Prinzip. Wenn wir über das DRY-Prinzip sprechen. Es bedeutet, wiederhole dich nicht. Um sich nicht zu wiederholen , wenn Sie feststellen, dass Sie denselben Codeblock schreiben müssen , um eine bestimmte Sache mehr als einmal zu tun, würden Sie am Ende eine Funktion erstellen. Anstatt also die vier oder fünf Zeilen immer und immer wieder an verschiedenen Teilen der Anwendung zu schreiben immer und immer wieder an . Sie legen es einfach in eine Funktion und den Aufruf wo nötig. Genau das haben sie mit Konsolenpunkt-Schreibzeile gemacht . Konsolenpunkt-Schreibzeile enthält wahrscheinlich ein paar Codezeilen. Anstatt Sie zu bitten, diese fünf Codezeilen jedes Mal zu schreiben , sagen sie Ihnen einfach, rufen Sie diese Funktion wenn Sie diese Funktion benötigen. Beginnen wir mit einem Beispiel für eine ungültige Funktion. Was wäre, wenn ich einen Schaum wollte , der im Grunde nur mein Knie bringt, um die Funktion zu definieren. Wieder einmal brauche ich diesen Typ. In diesem Fall drucke ich nur den Namen aus, also brauche ich nur ungültig. Void ist der Typ. Und dann gebe ich ihm den Namen, den Namen drucken. Habe ich nicht, ich muss ihm sagen , welche Parameter ich erwarten soll. Daher werden Parameter aufgeführt. Innerhalb der Klammern. Wenn ich keine Parameter habe, die ich übergebe, muss ich nichts in die Klammern legen , aber abgesehen und Krankheiten sind nicht optional. also den void print name open end sehe , weiß er, dass dies eine Funktion ist, und dann öffne und schließe ich meine geschweiften Klammern, was mir die Möglichkeit gibt, mit dem Schreiben zu beginnen und zu beobachten. Und statt dieser Funktion sagen wir, ich wollte es einfach halten und drucke meinen Namen, also drucke ich Trivago Williams. Das ist alles, was ich von dieser Funktion möchte. Stellen Sie sich also vor, ich müsste True oder Williams mehrere Orte drucken . Gut, Fair genug. Aber was wäre dann, wenn ich meinen ganzen vollständigen Namen oder nur meinen Vornamen ausdrucken wollte ? Das bedeutet, dass ich an jedem dieser mehreren Stellen diese eine Codezeile mehrmals ändern müsste . Oder ich weiß, sagen Druckname Ich kann diese Funktion überall in meiner Anwendung aufrufen . Und wenn ich dann die Funktionsweise ändern musste, gehe ich einfach zur Funktion und ändere bitte den Code. Wiederhole dich selbst. Wenn ich das zehn Mal nenne, spielt es keine Rolle. Alles, was es tun wird, ist zur Funktion auf Meet the call zu gehen . Wenn Sie versucht haben, einen Funktionsaufruf für eine Funktion zu machen , die nicht existiert, erhalten Sie natürlich einen Fehler. In Ordnung, nun, du kannst immer eine Funktion haben, die existiert und sie nie aufgerufen wird. Dann teilen sie diese grüne Linie, die nur besagt, dass sie da ist, aber nie benutzt wird. Bist du sicher, dass du es brauchst? Alles klar. Es gibt ein anderes Prinzip. Du wirst es nicht brauchen, kurz YAGNI. Du wirst es nicht brauchen. In diesem Prinzip. Schreiben Sie im Grunde genommen keinen Code, den Sie nicht benötigen. Wenn Sie keinen Zweck für diese Funktion haben, schreiben Sie sie nicht, haben sie nicht dort. Verstopfen Sie Ihre Codedatei , weil Sie sie verwenden werden. Alles klar, also lass uns zurück zu dem Film zurückkehren, den Shaun kostet. Also haben wir die Funktion hier. Der Funktionsaufruf ruft bei Bedarf nur den Namen der Funktion neben den Klammern mit beliebigen Parametern auf. In diesem Fall habe ich keine Parameter definiert, daher sind es nicht erforderlich, wenn ich diesen Anruf tätige. Okay, ich muss hier keinen Wert plotten, genau wie Console.WriteLine, es gibt Zeiten, in denen neue Konsolenpunkt-Schreibzeile ohne Wert übergeben wird. Und es tendiert, wenn wir diese rote Linie mit einem Wert trösten , der übergeben wird. Okay, also das ist eine , die nicht experimentell ist. Dies ist einer, der keine Parameter annimmt. Das sehen wir uns in ein paar mal an. Wenn ich diese Anwendung ausführe, sollte sie einfach weitermachen und meine Drucknamenfunktion aufrufen. Da sind wir los. Das ist also die Hauptcodedatei, was auch immer wir hier schreiben, ja, aber welche Methode wir auch hier setzen, wird diesen Codeblock erst bekommen , wenn es genug Funktion in R ist, Sobald es ein Definition einer Funktion, wird nur ausgeführt, wenn ein Funktionsaufruf stattfindet. Deshalb sehen wir Garnelen oder drucken sie aus. Wenn ich diesen Funktionsaufruf jedoch entfernen und es erneut versuchen würde, würde nichts passieren. Buchstäblich würde nichts passieren , weil es nichts zu passieren gibt. Es gibt eine Funktion , die nie aufgerufen wurde. Es gibt nicht viel Code , der nirgends ausgeführt werden muss. Das ist sein Ganze, das du mit deiner Funktion aufrufst oder unterbrechst. In Ordnung, also werde ich die Beispiele für void-Methoden lassen , sind ungültige Funktionen hier. Wirklich und wahrhaftig. Wieder einmal macht es einfach etwas. Es gibt keinen Wert zurück. Wenn Sie also beispielsweise eine Void-Funktion möchten, um etwas Mathematik zu machen, wie ungerade Zahlen, haben Sie Situation, in der Sie einen Parameter übergeben möchten. Okay, lassen Sie uns sagen, dass Sie ein Vorsprechen sehen möchten. Wir haben über das Potenzial gesprochen früher einen Taschenrechner zu machen. Was wäre, wenn Sie eine ungültige Addition hinzufügen und dann zwei Zahlen hinzufügen möchten , damit Sie Parameter eingeben und neu starten können. Wir gehen Allah Parameter ist eine Variable, die Sie innerhalb der Klammern in der Funktionsdefinition definieren . Und der Wert, der übergeben wird diesem Wert in der definierten Reihenfolge zugewiesen. Lassen Sie mich das in einem Codebeispiel machen. Nehmen wir an, wir müssen zwei Zahlen nehmen. Ich nehme int num1, int num2. Dann möchte ich die Summe auf den Bildschirm drucken. Dann schau mal, oh, wir können es einfach schön aussehen lassen und professionelle Knoten. Also ging ich zur Interpolation und setzte eine normale ein. Und das Normwerkzeug ist, dann kann ich einfach die mathematische Nummer 1 plus num2 einsetzen. Wir geben also keinen Wert zurück. Ich rufe einfach die Funktion auf, gebe ihr zwei Werte, und dann wird es den Prozess ausführen und den Bildschirm drucken, aber es gibt nichts zurück, um das zu nennen, Nein, ich würde sagen Zusatz. Und zwei Werte übergeben. Und merke jetzt , dass ich das in den Hinweis bekomme, einen Wert für num eine Seite setze, mach das und drücke Komma. Und wenn ich dann sehe, dass ich einen Wert für das Num Tool setze, mache ich das und fahre fort. Und dann D2L würde ich es nennen , wenn wir das ein wenig verstärken würden, keine antiken Benutzereingaben für num1 und num2. Und was ich tun werde, ist zu einem unserer vorherigen Beispiele zurückzukehren , in dem wir nach zwei Eingaben gefragt haben. Ich glaube, du hast das in unserem OK gemacht. Was glauben Sie, dass bedingte Aussagen nach der Anzahl der Orangen und der Anzahl der Äpfel gefragt wurden? Ich versuche nur klüger zu arbeiten, nicht härter, oder? Geben Sie also Nummer ein, ich halte es einfach. Nummer eins und Nummer zwei. Dann nennen wir diese Nummer eins, Nummer zwei. Also mache ich all das absichtlich mit meiner Benennung, weil ich Variablen nehme Werte vom Benutzer nehme. Ich fange an, Nummer eins zu sein. Nummer zwei, ich habe in meiner Funktion definiert , die Num1, Num2 nimmt. Ich muss jedoch nur den Wert für Nummer eins als erstes Verb übergeben Nummer eins als erstes Verb und für normal auf das zweite verbale verwendet werden. Das zeigt also nur, dass die Benennung hier keine Korrelation mit dem hat, was hier ist, weil ich die Literalwerte eins für num 12 übergeben kann, für num2 kann ich meine Variable übergeben . Das habe ich vom Benutzer für Nummer eins und die Variable für Nummer zwei bekommen. Tatsache ist, dass zu dem Zeitpunkt, an dem es diesen Anruf tätigt und vorbei geht, alles, was zuerst in der Liste war, statt zuerst in diesen Verwandten oder eine Sekunde in den Listenbändern mit dem, was in der Liste krank ist, vergeht in diesen Verwandten oder eine Sekunde in . Dann wird die void-Methode fortgesetzt und ausgeführt. Im Moment lernen wir etwas über eine, machen ungültige Methoden, um sie zu definieren und aufzurufen, und dann drei, indem wir in unsere Parameter schreiben. Wenn ich diese Anwendung also ausführe, wird sie für VOR gedruckt , weil wir den Drucknamen haben. Klar. Also tut es das. Sie würden feststellen, dass es mit dem Rest des Programms fortgesetzt wird. Also ging es, es nannte die Funktion, die Funktion und sagte dann kam zurück und setzte dann Knoten fort, um Enter Nummer eins zu sehen. Ich sage nur zehn und gebe dann Nummer 20 ein. Dann wird es gehen und dem Photoshop-Husten begegnen, wo ich zusätzlich in ein End-to-End-t übergehe. Die Summe aus Zinn und Zwilling T ist also die Mathematik. Dann behauptete er, dass Buck merke, dass es nichts mehr gibt und dann können sie es reparieren. So funktionieren Funktionen wirklich. Stellen Sie sich vor, Sie müssten diese Art von Logik mehrere Orte schreiben . Du willst das nicht jedes Mal schreiben müssen . Sie fragten eine Nummer 1, Num2, Num1, Num2, Num1 num2. Du schreibst die Methode. Ja, Sie können den Benutzer auffordern und alles, was Sie tun, ist anzurufen. Wenn Sie einen Taschenrechner aufschreiben, können Sie pro Operation eine Methode erstellen , die etwas sehr ähnliches tun würde. Und du hast Operation entsprechend angerufen. 16. Methoden – Value: Alles klar Leute, also setzen wir unser Abenteuer in Methoden fort und halten ihre Arbeit. Wir haben uns bereits die void-Funktion angeschaut, also wird eine gelehrt, die keine Parameter annimmt, und wir haben uns eine andere angesehen , die Parameter annimmt. Das Wichtigste an Void-Funktionen ist, dass sie einfach nicht in Betrieb waren und dann enden sie. Wenn wir also das Ende dieser Operation wissen wollten, würden wir einfach console.WriteLine und C und off void Funktion schreiben . Wenn wir also Start drücken, geht es dazu, dass der IIT der Compiler ist, wird in der Reihenfolge gehen , in der der Code geschrieben wurde. Dies wird sehen, dass dies die Definition einer Methode ist. hier drin nichts. Dies ist die Definition einer Methode tun nichts da drin. Die erste Codezeile, die ich ausführen muss, ist jedoch ein Funktionsaufruf, was bedeutet, dass ich diese Funktion suchen muss. Ich hätte seine Definition schon gesehen. Tu, was es heißt, dass ich tun sollte. Und dann ist das das Ende dieser Funktion. Dann holen wir uns zwei Zahlen als Eingabe. Sobald der Benutzer angegeben hat, werden diese fortgesetzt und wir sehen, dass dies ein weiterer Funktionsaufruf ist. Es fragt nach diesen beiden Zahlen. Es hält also inne, es geht, es stellt fest, dass die Funktion in zwei Zahlen pausiert. Das, was es tun soll. Und dann wäre das auch das Ende dieses Funktionsaufrufs. Okay, das ist das alles ungültige Funktionen funktionieren. Nein, wir werden uns die Funktionen zur Wertwiedergabe ansehen . Keine Mühe, Funktionen zurückzugeben, tun genau das, was der Name andeutet. Sie geben einen Wert zurück, am Ende wird etwas zurückgegeben. Oft Betrieb. Nehmen wir an, wir wollten die größte von drei Zahlen finden. Also der größte von drei. Also stelle ich hier eine weitere Aufforderung für eine dritte Nummer vor. Also nehmen wir die Nummer eins, Nummer zwei, dann finden wir heraus, was die Summe der Zahl 12 ist oder vielmehr ist, was die Summe von ihnen ist. Aber wir werden hier eine dritte Variable haben , die am Ende dieses Vorgangs oder wenn sie dies erreicht, unsere dritte Zahl annehmen wird. Jetzt sollten wir drei Zahlen haben. Jetzt möchte ich wissen, was die größte Zahl ist. Ich werde eine Methode erstellen, die diese drei Zahlen nimmt und die größte zurückgibt. Wenn wir über die Wertrückgabe sprechen, müssen Sie mit dem Datentyp beginnen. Welchen Wert gebe ich zurück? Nun, in diesem Fall, wenn ich drei Ganzzahlen vergleiche, wird erwartet, dass ich die größte der drei Ganzzahlen zurückgegeben habe. Mein Rückgabetyp wird also eine ganze Zahl sein. Wenn ich das Wort oder einen Namen zurückgeben würde, wären es Strings. Die gleiche Art und Weise , wie Sie überlegen welchen Datentyp Sie für Ihre Variable verwenden sollten , ist dieselbe. Wir überlegen, welchen Datentyp Sie für Ihren Rückgabetyp von Ihrer Methode verwenden . Ich sage „int“. Und dann nannte ich das eine größte Nummer. Und sehr ähnliche Benennungsregeln gelten für Methoden, außer dass wir den Pasco-Fall für Methoden im Gegensatz zu CamelCase verwenden . Denken Sie also daran, dass Plus Co Fall bedeutet, dass Sie sowohl den ersten Buchstaben als auch jeden anderen zuerst die anderen Wörter in diesem Textblock groß anderen zuerst die anderen Wörter in schreiben, das ist Ihre Eingabe. In Ordnung? Also int größte Zahl. Dann werde ich ihm sagen, dass es hier drei Parameter benötigt , Visual Studio, was darauf hindeutet, dass IT num1, Num2, beide int Button eine dritte eingeführt haben, int num drei, weil ich es nehmen wollte drei Zahlen und so viele Zahlen wie Sie benötigen, listen Sie natürlich am meisten auf. Nein, du wirst sehen, dass ich hier schon eine Schlange habe. Ich muss darin sehen, dass nicht alle Codepfade einen Wert zurückgeben. Also erkläre ich gerne, was diese verschiedenen Fehler bedeuten weil es manchmal nicht sehr offensichtlich ist, genau hier, ETC. Und dass wir eine Methode haben, die sie gesehen hat, ist ein zurückkehrender Wert, aber es wird nichts zurückgegeben. In Ordnung, das bedeutet, dass wir ein Schlüsselwort benötigen und dieses Schlüsselwort zurückgegeben wird. Nach der Rückkehr müssen wir bei dem bleiben, was wir zurückkehren. Also hier zeige ich Ihnen nur, wenn ich return 0 sage, es ist zufrieden, weil 0 ein ganzzahliger Wert, ein ganzzahliger Wert ist und die Return-Anweisung für die Ganzzahl hat. Es erwartet also, dass ich eine ganze Zahl zurückgebe. Ich habe diese Anweisung gesehen, dass ich eine ganze Zahl zurückgebe. Wenn ich dich in eine Zeichenfolge wie meinen Namen lege, würde ich einen Fehler bekommen, da dies keine Ganzzahl ist. Es ist also gut zu sehen, dass Sie die Typzeichenfolge nicht implizit in int y konvertieren können. Dies ist eine Zeichenfolge, die jedoch erwartet, dass eine Ganzzahl zurückgegeben wird. sind Kleinigkeiten , auf die Sie achten müssen, wenn sich mit wertwiederkehrenden Funktionen befassen. Also lasst uns einfach eine kurze Übung machen. Ich zeige Ihnen eine andere Sache namens Verschachtelung , wo wir eine Kontrollstruktur in einer anderen haben . Also tippe R1 Konstrukt innerhalb einer anderen Bedeutung aus. Hier haben wir eine Methode, aber ich werde eine if-Anweisung abgeben denn die einzige Möglichkeit zu wissen, was die größte Zahl hier ist, ist die Verwendung einer if-Anweisung oder irgendeiner Form von Entscheidungslogik. Ich begann damit zu sehen, dass die größte Zahl gleich Num Eins ist. Dies ist nur eine Annahme , weil einer von ihnen der größte sein muss. Ich gehe also davon aus, dass niemand der größte ist, aber dann muss ich testen, ob die größte Zahl tatsächlich größer ist als Num zwei, Num drei, dann wenn eine davon größer ist als, wird das sein die neue größte Zahl. Also sagte ich, wenn ich es genauso gesagt habe, wenn es am größten ist, lassen Sie uns sehen, ob der größte weniger als num2 ist, dass offensichtlich der größte gleich m2 sein muss , weil die größte Zahl nicht kleiner sein kann als Name 2. Wenn es weniger ist als, muss ich neu zuweisen. Know num2 übernimmt die Rolle der größten Zahl. Dann kann ich sagen, wenn die größte Zahl weniger als Num drei ist, dann wird Visual Studio mir wieder helfen und mich wissen lassen, dass der Koordinator bei die größte Zahl ist ist nicht gleich Num drei. Beachten Sie, dass ich zwei Aussagen habe. Ich habe wenn sonst nicht benutzt, wenn oder was auch immer, weil ich diesen Vergleich machen musste. Und dann dieser Vergleich, wenn ich ein wenn sonst machen würde, würde es nur zu diesem Vergleich gehen , wenn dieser nicht wahr wäre, werden Sie sehr vorsichtig und sehr bewusst mit denen sein wollen Arten von Dingen. Wenn sonst bedeutet, dass ich entweder oder tun werde. Wenn das stimmt, dann muss ich mir das nicht ansehen, weil dieser wahr war. Wenn ich jedoch ganz andere und individuelle if-Aussagen mache , wird dies überprüft. Wenn es stimmt, wird es in den Körper gelangen. Dann wird es das überprüfen. Und wenn es stimmt, wird es in den Körper gehen. Das heißt also, wenn normal man mit fünf beginnt und dann prüft, ob der fünfte Punkt, der der größte ist, das ist der Wert fünf, kleiner als num2 ist. Und sagen wir, num2 war 105 nicht weniger als 105 ist weniger als zehn, das stimmt. Dann erhält kein Größter den Wert von zehn. Dann wird es weiter sagen, prüfen Sie, ob zehn kleiner ist als, sagen wir drei. Wenn es nicht weniger als drei sind, wird dies nicht ausgeführt, da dies nicht der Fall war. Dann müssen wir zurückkehren. Wenn du größter gesagt hast, dann hast du definitiv Recht. Wir müssen diesen Wert zurückgeben. Dies gibt also eine ganze Zahl zurück , die als die größte Zahl gilt. Also die Methode, die du es benennst , nach dem, was du weißt, dass sie tun soll. Ja. Nun, Sie müssen immer sicherstellen, dass die Logik, die Sie dort skizzieren der beabsichtigten Operation übereinstimmt und zurückgegebene Wert mit dem erwarteten Symbol übereinstimmt. Sie können sich also vorstellen, dass Sie eine Methode zur Berechnung der Steuer von jemandem geschrieben haben, und dann haben Sie das Berechnungsstück falsch verstanden. Jedes Mal, wenn Sie diese Steuerberechnungsmethode aufrufen, gab sie den falschen Wert zurück und Sie nehmen zu viel Steuern von dieser Person, das wäre nicht nett. Es ist also immer gut zu verstehen, welche Logik hier in Bezug auf die vorliegende Operation einbringt . Und ja, ich kann hier sitzen und dir Beispiele zeigen , wo du üben musst. So wird man darin besser. Sie werden also besser darin, diese Entscheidungen zu treffen. Wir haben festgestellt, was die größte Zahl ist und geben sie dann null zurück. Ich kann einen Funktionsaufruf für die größte Nummer machen. Nachdem ich alle drei Zahlen bekommen habe. Ich kann nicht einfach die größte Zahl sagen und dann die Nummer eins übergeben. Nummer zwei, Nummer drei. Alles klar? Nein, wenn ich das weitergebe, was passiert? Ich rufe diese Methode einfach auf. Es kehrt am größten zurück. Und was passiert dann? Wir wissen, dass ohne eine Konsole.WriteLine nichts auf den Bildschirm gedruckt wird , obwohl die Konsolen-Lesezeile nichts vom Bildschirm genommen wird da es Tonnen ist, wenn es auf diese Methode trifft Es ist gut, Perioden zu kommen, in die Zahlen zu gehen, die das tun werden. Es wird das größte Wasserrad zurückgeben. Wir müssen das ein bisschen mehr verstärken. Ich muss das tatsächlich in eine Variable legen . Ich kann also wissen, dass C eine Variable namens erstellt, in diesem Fall Ergebnis, und sie wird den Ergebnissen dieses Funktionsaufrufs entsprechen . Genauso wie wir hier dasselbe gemacht haben , wenn wir um Input bitten. Wir sagen, Konsolenpunkt-Lesezeile, oder wir sagten, dass der String-Name der Leselinie der Konsolenpunkte entspricht . Es ruft eine Methode und weist sie dann dieser Seite zu. Im Fall von Software müssen wir eine Konvertierung durchführen, in 32 konvertieren, das ist eine Werterückgabefunktion. Alles was es tut ist eine ganze Zahl zurückzugeben, oder? Das Gleiche für das Konvertieren des Chars und in bool usw. Es gibt nur den Datentyp zurück, von dem er sagte, er wird zurückgeben. Aus diesem Grund ist die Zuordnung oder die Variabilität, der sie zugewiesen wird, sehr wichtig. Also ist int Nummer zwei gleich konvertieren in 32 , That ist Methodenaufruf eins. Aber wo hier eine andere Methode weitergeben wird das. Geben Sie uns den Wert, der umgewandelt wird , und dann unsere Wissenschaft. Es ist also das Gleiche hier , außer wo Sie Ihre eigene Methode schreiben möchten. Diesmal sehe ich, dass eine Variable vom Typ Integer namens result erstellt und ihr zugewiesen wird, was von dieser Methode namens größter Zahl zurückgegeben wird, die eine ganze Zahl zurückgibt. In Ordnung? Wenn wir also diese drei Zahlen übergeben, kommen Sie auf, treffen Sie den Vergleich, geben Sie zurück, welche die größte ist. Und wenn wir zurückkehren, wird das im Ergebnis gespeichert. Also nein, ich sehe, dass die größte Zahl ist. Ich benutze hier einfach die Interpolation und sehe Ergebnisse. Interpolation bedeutet, dass ich das Dollarzeichen an die Spitze des Streams setze. Da sind wir los. Okay, also wird niemand die größte Zahl drucken , ist Ergebnis. Nein. Ich zeige dir einen anderen Weg, wie du das hättest machen können. Um weniger Zeilen zu verwenden. könntest du eigentlich einfach ausdrucken. Okay, lass uns sehen. Wir könnten Konsolenpunkt sagen, Zeile schreiben. Dieser Stringblock wird und wird dann in diesen Funktionsaufruf innerhalb des interpolierten Abschnitts eingefügt . Das bedeutet, dass es den Funktionsaufruf erfüllt. Der Wert wird zurückgegeben und dieser Wert wird innerhalb dieses Abschnitts gedruckt. Also zeige ich dir nur, ich zeige dir immer deine Möglichkeiten. Du könntest es in zwei Zeilen wie dieser machen, oder du könntest es in einer Zeile wie dieser machen. Ich bevorzuge es, zwei Zeilen zu verwenden , da diese Form MY die Lesbarkeit erhöht. Ich kann deutlich erkennen, dass dies eine Variable ist. So wird es eingestellt. Und dann wird dies immer verwendet, im Gegensatz zu einem längeren Text, bei dem ich gute Linsen aufsetzen muss , um zu sehen, dass dies eine Funktion ist , die innerhalb einer interpolierten Zeichenfolge passiert , die innerhalb einer interpolierten Zeichenfolge in diesem Inneren, warum es immer noch Arbeit war. Sie müssen auch die Lesbarkeit Ihres Codes in Betracht ziehen , da Sie ihn möglicherweise für sich selbst schreiben. Niemand sieht cool aus. Vielleicht mach eine Pause und komm zurück und du würdest sagen, was, was habe ich hier geschrieben? Warum habe ich es so geschrieben? Oder jemand anderes muss sich Ihren Code ansehen. Und sie haben nicht so gedacht , wie du gedacht hast , als du den Code geschrieben hast. Es fällt ihnen also schwer, sich durchzusetzen. Sie müssen diese Möglichkeiten also immer in Betracht ziehen , wenn Sie Ihren Code schreiben. Manchmal konnten Dinge in einer Zeile gemacht werden, aber ich habe sie alle geteilt, nur um ihn zu sehen, weil es einfacher zu verdauen und zu lesen ist. Alles klar, also lasst uns das ausprobieren. Ich laufe ohne Debuggen. Dann lassen Sie uns mehr als drei Zahlen eintragen. Also bin ich zu 1056 gegangen und es wird sagen, dass die größte Zahl zehn ist. Halte es nein. Weil die größte Norm. größte bekam anfangs die Nummer Zehn, oder? Das war mein normales. Dann hieß es, wenn zehn weniger als fünf sind, was nicht der Fall ist. Also hat es das übersprungen. Und er sagte, wenn zehn weniger als sechs sind, denke ich darüber nach, dass es nicht ist. Also hat es das übersprungen. Also gab es zehn zurück und lagerte dann Zinn anstelle von Ergebnissen, was auf den Bildschirm gedruckt wurde. Das ist sein ganzer Wert, dass Methoden zurückgeben. 17. String: Okay Leute, also kommen wir irgendwie von den ausgetretenen Pfaden ab , um die B6 der C-scharfen Entwicklung zu erkunden und auf ein paar fortgeschrittenere Konzepte einzugehen . Und eine davon ist eine String-Manipulationen mit einer Zeichenfolge bei D8-Zeitmanipulationen, da diese beiden Datentypen, wie nahtlos aussehen, viele Probleme verursachen können, wenn sie nicht richtig behandelt werden. Wir werden uns einige der Möglichkeiten ansehen , wie wir Strings manipulieren können. Wir haben es bis zu einem gewissen Grad für uns getan, aber wir werden uns einige andere ansehen. Und wir werfen auch einen Blick auf dy dt Zeitwerte und halten fest, dass diese auch manipuliert werden können. Lasst uns schnell anfangen. Wir wissen, wie man druckt, also wissen wir, wie man die Zeichenfolge druckt. Ich sollte hier drucken auf den Bildschirm sagen, tut mir leid, das ist Konsolenpunkt-Schreibzeile. Wenn ich eine Sache drucken soll, die ich gerade sehe, die eine Variable, Visual Studio in diesem Fall hilft mir Visual Studio in diesem Fall tatsächlich bei der Verkettung. Das ist also eigentlich der Code für den zweiten. Wenn ich nur das erste Thema drucken wollte, das wir wissen, was wir gerade sagen, Zeile console.log, bitte in der Zeichenfolge oder der Variablen, oder es ist ein statischer Stream, den wir übergeben. Welches auch immer funktioniert, wenn es sich um eine String-Variable handelt, ehrlich gesagt , kann es fast alle Variablen behandeln soweit wir gesehen haben, zumindest alle einfachen primitiven Typen. Das sind also Ihre Optionen zum Drucken des Bildschirms. Wenn es um Verkettung geht, wissen wir, dass wir unser Pluszeichen verwenden können. Also hier sehe ich Console.WriteLine, den Wert, der in FirstName, Leerzeichen dazwischen und dann eine andere Variable ist . Wir wissen auch, dass wir, wenn wir eine statische Zeichenfolge plus die Variable wollten, sehen würden, dass mein vollständiger Name lautet. Und dann könnten wir die Variable verketten. Und so viele andere Variablen, wie wir brauchen würden, fließen wir einfach mit dem leeren Raum. Die Relevanz der Art, die druckt, wird also genau das drucken, was sie sieht. Es gibt meinen Speicherplatz, voller Speicherplatz, Namespace ist Leerzeichen, dann LastName, dann wieder Leerzeichen, dann Vorname. Das ist also die Wichtigkeit , so wenig Platz da drin zu haben. In Ordnung? Nein, obwohl wir uns die Verkettung angesehen haben , die Interpolation verwenden würde , wo wir unsere geschweiften Klammern verwenden können, anstatt die Pluszeichen zu verwenden. Wir sprinten nur einen Stringblock. Aber dann merkt man natürlich, dass ich hier Variablen verwende, aber sie sind immer noch orange. Ich brauche das Dollarzeichen an der Front. Ich nehme zur Kenntnis, dass es sich um eine interpolierte Zeichenfolge handelt, damit sie weiß, dass sowieso die geschweiften Klammern sehen, die dort ein Verb sein sollten. Ordnung, also das ist ein anderer Weg, denn jetzt sprintet es meinen Raum. Der vollständige Namenspace ist dann der Nachnamenraum, der FirstName, lastname, firstname. Normalerweise hättest du wie ein Komma, also wäre es Williams-Koma für VOR. Sehen Sie das, obwohl ich zwischen den beiden Variablen hier und der interpolierten Zeichenfolge tippe . Es wird es als einen zusammenhängenden Block sehen, nur die Variablen durchsetzen wird , von denen es weiß, dass sie benötigt werden, müssen da sein. Im Allgemeinen sind dies die häufigsten, die Sie in Wasser und C-scharf finden. Aber dann war natürlich die Alternative, wie wir es uns angesehen hatten, die Verwendung von Platzhaltern. Wir verwenden also keine Interpolation. Stattdessen verwenden wir 12 und so viele andere Polizeimappen wie nötig. Und dann fügen wir einfach die Variablen ein, die in dieser Reihenfolge übereinstimmen. Also Vorname, dann Nachname, Nachname hier, würde bitte 0, Vorname viel wie Platzhalter eins enthalten. diese Weise können wir mit der Verkettung in Strings umgehen . Nein, es gibt Zeiten, in denen Sie vielleicht wissen möchten wie viele Buchstaben im ersten Thema enthalten sind, zum Beispiel, wenn ich das tun wollte, würde ich die Länge der Zeichenfolge finden wollen. Also könnte ich int sagen, sagen wir mal, Länge ist gleich. Und dann kann ich die Variable aufrufen. Und dann schau dir an, dass Visual Studio Formel kontextuell automatisch ausfüllt . Also wird es sagen, hol mir die Variable, sieh dir den Wert darin an und sag mir die Länge. Mein Name hat sieben Buchstaben drin, dies würde einfach sieben zurückgeben. Dies ist eine Eigenschaft für diese Zeichenfolge namens length. Wenn wir in Klassen und Objekte einsteigen, Yolanda, ähnliche Zeit kaufen Sie eine Immobilie. Also mach dir darüber keine Sorgen. Die Verwendung dieses Schlüsselworts noch. Das war's. Sie würden also die Länge einer Zeichenfolge sehen. Wenn Sie diesen totalen harten Kurs drucken möchten, würden Sie etwas wie eine Konsolenpunkt-Schreibzeile sagen ich benutzt habe, sagen Sie einfach Länge oder lassen Sie es mich einfach ein bisschen klarer machen. Jemand, der den ältesten Stil zur Verkettung verwendet. Das würde sehen, dass dein Name ist. Okay. Lassen Sie mich das zu einem ganzen Satz machen. Das würde also interpoliert werden. Lass es mich verschmutzt machen. Ihr Name ist, und ich kann so viele Buchstaben lang einsetzen . Schließe den Stream und das war's. Es gibt also einen ganzen Satz mit einem variablen Smack Dab in der Mitte einer literalen Zeichenfolge aus. Lasst uns nun zu etwas anderem übergehen. Was wäre, wenn wir Buchstaben ersetzen wollten? Sagen wir also, ich wollte einen neuen Namen oder ich wollte sehen, wie mein Name aussehen würde. Wenn ich alle T's durch den Buchstabenschlüssel ersetzt habe. Ich sehe einen Vornamen, Punkte. Wenn Sie dann den Punkt machen, sehen Sie eine Reihe von Methoden, die wir als Methoden bezeichnen. Wir haben uns bereits Methoden angeschaut. Genau wie wir sagen können, Konsolenpunkt, Schreibzeile ist unsere Methode. Sie können tatsächlich jede Stringvariable c, variablen Punkt, und dann sehen Sie eine Reihe von Methoden. Einige von ihnen sind nützlich, andere nicht. Nur um ihn Woche zu sehen und diese Eigenschaft zu haben. Wenn ich also Replace sage, dann wirst du tatsächlich sehen, dass es eine Methode gibt , die sie bitte nennt. Und es will zwei Dinge. Es will das alte Zeichen oder Zeichen, will einen neuen Charakter. Ich konnte das Zeichen t sehen. Ich erinnere mich, dass Zeichen einzelne Anführungszeichen verwenden und nur ein Wert anstelle eines einzigen Anführungszeichens gehen kann . In Ordnung? Das ist also sein Charakter. Und ich möchte es durch ein neues Zeichen von k ersetzen. Dies wird diese Zeichenfolge automatisch auswerten und alle Ts finden und durch K. ersetzen Dies wird diese Zeichenfolge automatisch auswerten und alle Ts finden und durch K. ersetzen . und mache ein paar Tests. Lassen Sie uns also ändern unser Projekt durch Manipulation erfolgt. Ich hoffe, das hattest du schon getan. Es tut mir leid, ich habe keine Punkte gegeben, die er zuvor erzählt hat, sondern erstellen Sie Ihre Projektclustering-Manipulation. Oder vielleicht hast du es bereits mit einem anderen Namen erstellt. Das sind nicht wirklich die großen Punkte. Stellen Sie einfach sicher, dass Sie in einer neuen Methode in einem neuen Projekt laufen . Dann lasst uns rennen. Also hier ist der Ausdruck. Also haben wir die gedruckte Saite durchquert. Da ist es. Ich weiß, dass wir all die verschiedenen Möglichkeiten haben , verdunkelte Verkettungen zu schneiden , und es wird sein Ihr Name sieben Buchstaben lang ist. Und dann haben wir den Ersatz durch einen neuen Namen gemacht, was ich nicht gemacht habe das Endergebnis, dass jemand Ihren neuen Namen sieht, und dann werde ich einen neuen Namen sehen. Das ist also Australien. Das nochmal, richtig. Also hier haben wir deinen neuen Namen ist Chris. Oh, ich mag das Geräusch nicht. Richtig. Aber jetzt siehst du, wie es aussieht. Also, selbst wenn ich Müll entfernen wollte, lass uns das Auge sehen. Mein Name ist also ziemlich einzigartig , weil er wirklich trivial ist. Was ist ein Auge da drin? Und es ist griechisch und es bedeutet Reservoir der Stärke. Beide Leute, wenn sie sie namentlich nennen, nennen sie mich einfach Ärger. Ich mache nicht wirklich eine große Sache daraus, aber das ist in Ordnung. Sagen wir, ich habe einen neuen Namen gesagt, einer ist FirstName, ersetze den Buchstaben I, das Zeichen ich durch nichts. Ich konnte es mit einem Leerzeichen sehen. Weil wirklich und wahrhaft ein Charakter so nicht leer sein kann. Deshalb bekommst du diese grüne, die rote Linie. Sie können kein leeres wörtliches Zeichen haben. Und es gibt keinen Autopunkt leer wie älter ist ein Stream Dot mt, oder? Nein, es gibt keinen Turm. Also lasst uns einfach sehen, ich werde es durch einen Raum ersetzen, also eine Spezies, eigentlich einen Charakter. Okay, und dann habe ich gesehen, dass dein neuer Name ein neuer Name ist. Lasst uns also sehen, was das zur Sprache bringen würde. Da ist es. Also nein, es hat den Raum, in dem mir gesagt wurde, dass Ersetzenoperation funktioniert. Okay, also lasst uns weitermachen. Die nächste wäre, wirklich und wirklich an eine andere String-Variable anzuhängen , die genau wie diese Verkettung hier oder eine davon aussehen würde . Weil wir sehen, dass man sie tatsächlich einfach kombinieren kann , oder? Also könnte ich tatsächlich nur var sehen, tut mir leid, String Listening wird so var, vollständige Name der Zeichenfolge ist gleich einer Variablen kombiniert mit einer anderen Variablen. Und das war's. Oder wenn ich sie einfach ohne irgendetwas zwischen sich selbst mit C plus kombinieren wollte , also wenn Sie ein Pluszeichen zwischen eine Zeichenfolge oder zwischen zwei Strings gesetzt haben, wären diese Air-Literal Strings String-Variablen oder ein Verb, das unter der literalen Zeichenfolge jedoch die Kombination einfach dieses Pluszeichen verwenden. Das würde mir also nicht meinen vollständigen Namen geben , den ich drucken kann. Ihr vollständiger Name ist ein Mitarbeiter bis zum vollständigen Namen dort. Jetzt wäre die nächste Option, den Stream zu teilen. Und Sie können hier sehen, dass ich angefangen habe, den Code zu schreiben, einen Fehler haben würde. Und der Fehler besagt, dass es die Typzeichenfolge nicht implizit mit diesen Feldern konvertieren kann, wobei es sich um zwei reguläre Zeichenfolgen für eckige Klammern handelt. Mit anderen Worten, das würde mir tatsächlich eine Sammlung von Streichern geben. Also hier sehe ich den vollständigen Namen. Das wird der Weltraum Williams durchquert und gespalten. Wo auch immer es ein V gibt Da viele Visa in einem Stringblock erscheinen mögen, wird es entsprechend aufgeteilt. Wenn es also drei Vs gibt, dann wird er es links von einem der Vs teilen , zu den Unruhen von diesem V und in die Abschreibung des nächsten V, das ist so ziemlich das, was es tun wird . In Trevarthen Williams gibt es einen VC, der auf dieser Seite enden würde. Und diese Seite als zwei Strings oder zwei Stringblöcke. Ich kann also nicht zwei Stringblöcke in einer Zeichenfolge speichern, weshalb ich gesagt habe, dass es die eckigen Klammern benötigt, was bedeutet, dass wir noch nicht ganz bereit für Bereiche sind. Wir sind noch nicht ganz bereit. Wir werden es genauer untersuchen. Aber ich habe Ihnen gezeigt, was das Ergebnis dieser Operation ist, unabhängig davon, der beste Weg, ein Array zu durchlaufen , ist die Verwendung einer for-Schleife. Also sag normalerweise wie vier. Und dann haben wir schon eine for-Schleife durchlaufen. Für int i, was mein Zähler ist, ist gleich 0. Ich bin weniger als die Länge, was bedeutet, wie oft soll es durchlaufen? Und dann habe ich plus plus. In diesem Fall weiß ich nicht, wie viele Stringblöcke ich bekommen werde. Ich weiß es nicht wirklich , weil ich nicht weiß wie der vollständige Name aussehen wird. Der vollständige Name könnte Benutzereingabe sein , bei der die Person Internet Stream ohne Vs drin ist. Es gibt also nichts zu teilen, das gleich 053 V ist. Also R5, ich weiß es nicht. Für die Längenvariable würde ich nicht zehn setzen wollen, weil ich dann zehnmal gegangen bin und vielleicht nur zwei Mal machen musste. Und dann wird das tatsächlich ein Problem verursachen. Auch hier komme ich mit Aris noch nicht zu sehr ins Detail. Eine einfache Möglichkeit, dies zu navigieren, wäre jedoch, dieses Array von Strings c zu dieses Array von Strings verwenden. Anstatt uns eine bestimmte Nummer zu geben, habe ich die IRI-Punktlänge unabhängig von der Länge und der Anzahl der Elemente gesehen sind blockiert. Also Stream kommt aus dieser Operation heraus wird hier gespeichert. Und jeder wird Windows eins nennen. Jeder Block wird ein Block innerhalb dieser Stringsammlung sein. Ich sage, hol mir die Anzahl der Blöcke in der Sammlung von Strings, und das ist die Anzahl der Male, mit denen du eine Schleife machst. Wir werden später näher darauf eingehen, also mach dir keine Sorgen darüber. Aber im Moment wollte ich dir nur die richtige Konsolenlinie zeigen . Alles was ich tun müsste ist zu sagen: Gib mir den geteilten Namenswert pro Tiefpunkt, der in I ist, richtig? Ich drucke das einfach aus. Und wenn ich es dann im Debug-Modus angeschaut habe, werde ich Tray sehen und dann, oder William, das wird hier wirklich ausgedruckt, weil das v die Splitting-Punkte sein würde. Was ist der Lift des V? Was ist rechts vom V? Mehr, V ist mehr Spaltungen. Das habe ich also gesagt. Wir wissen nicht, wie viele Spaltungen wir bekommen würden, weshalb wir versucht haben, sie dynamisch zu halten. werden wir uns noch einmal ansehen. Das Konzept der Ironie ist später. Lassen Sie uns zu den String-Vergleiche übergehen. Ein Zeichenfolgenvergleich tritt auf, wenn Sie etwas vergleichen möchten , bei dem ein Benutzer mit einer potenziellen Option eingegeben wurde, oder Sie zwei Werte mit Variablen vergleichen möchten. Es gibt eine Reihe von Gründen, warum Sie Strings vergleichen müssen. Ein sehr häufiger Vergleich , den Sie möglicherweise durchführen, ist zu prüfen, ob etwas leer oder standardmäßig ist. Denn wie ich von Anfang an sagte , als ich die Zeichenfolge definiert habe, sagen wir variable, Testvariable. Denken Sie daran, ich habe die Zeichenfolge definiert und Ihnen zu diesem Zeitpunkt nicht den Wert gegeben, es ist das, was Sie null nennen. Alles klar? Das ist ein weiterer Punkt. Du hast es vielleicht gegeben. Das. Es ist nicht null, aber es hat keinen Wert. Also ist es nicht, nein, es ist einfach leer. Das ist einfach nicht genauso. Das ist das Gleiche wie ein leerer String-Punkt. In Ordnung, also würden diese beiden tatsächlich demselben Thema gleichsetzen. Lassen Sie mich das einfach als Kommentar abgeben, um zu zeigen, dass das Stream-Punkt leer bedeutet. Alles klar? Und in anderen Situationen wissen Sie nicht, ob der Benutzer tatsächlich etwas Gültiges oder so eingegeben hat und Sie müssen prüfen, ob es stimmt, ob der Null, tut mir leid, ob die Zeichenfolge null ist oder ob sie leer ist . Es gibt eine integrierte Methode , bei der Sie, wenn Sie die Datentypzeichenfolge eingeben und dann einen vollständigen Stopp sehen, tatsächlich eine Reihe von Methoden betrachtet werden. Sie haben den Backenzahn leer und Sie haben Ismail, unseren Leerraum. Whitespace wäre eher so, wo man einfach ein Leerzeichen hineinlegt. Es ist nichts da. Ich wollte Null String sagen. Das ist an dieser Schnur. Das ist leer. String, dann dieses Leerzeichen, gerade, nur damit wir klar sind, was jeder repräsentiert. Stattdessen sehe ich dich in der Testvariablen. Sie können sehen, dass es null oder leer ist, was entweder ja oder nein sagt. Dadurch wird ein boolescher Wert zurückgegeben , der eine Funktion zurückgibt , die true zurückgibt. Es ist nicht leer oder null, es ist nicht Wissen ist nicht leer. Sie müssen also die Zeichenfolge analysieren. Sie konnten also hier keine Zeichenfolge sehen, wenn sie null oder leer ist. Und da würdest du sagen, nun, ich habe hier einen ISI. Ich kann nicht fortfahren. Und wenn man sich das anschaut, also in C-Sharp, in späteren Versionen von C Sharp, hindert es mich tatsächlich daran, dies zu verwenden , ohne vorher einen Wert c zuzuweisen. ist es null, damit es fortfahren kann, dass Sie es einfach als null zuweisen und es nicht zuweisen können. Der Compiler wird keine Vermutungen nehmen und sagen: Oh, es ist nein, es ist nicht darauf beschränkt. Man muss also explizit sagen, dass es nicht der Fall ist. Wie ich schon sagte, du könntest tatsächlich Sauerstoff nehmen, wenn es kleiner, leer ist und nicht null sein sollte . Das sind Überlegungen , die Sie erfüllen müssen. Eine weitere einfache Sache, die Sie wahrscheinlich wollen würden. Lassen Sie mich einfach hier unsere Konsole aufteilen. Sie sehen also jetzt, dass String null ist, eine Bürgerwarnung leer. Dann werden wir einfach sehen, dass es nicht der Fall ist. Der Grund, warum Sie Strings vergleichen möchten , ist , ob Sie zwei davon vergleichen möchten. Die gleiche Art von Äquivalenz , die Sie wahrscheinlich auf eine mathematische Operation anwenden würden, kann also für zwei Variablen gelten. Also konnte ich sehen, ob FirstName gleichwertig mit LastName ist. Dann nimm eine Option. Die Namen sind gleich. Das könntest du tun. Man könnte auch sehen, ob sie nicht gleich sind. Ich bin nicht gleich wäre Ausrufe-Gleichheitszeichen , nicht gleich c. Namen sind nicht gleich. sind also andere Dinge , die Sie noch eine Woche machen und zwei Strings vergleichen möchten noch eine Woche machen und zwei Strings vergleichen , um zu sehen, ob String dann eine dot-com-Peer-Methode enthält. Dann kann er Policy und die Strings, die Sie vergleichen möchten. Hier zeigt es Ihnen also , dass Sie ein paar Möglichkeiten haben. Sie haben neun Überlastungen. Wir betrachten Überlastungen in ein paar Kugeln. Ich kann eine Zeichenfolge Nummer eins und Nummer zwei übergeben, was Nachname ist. Und dann wird es zurückkehren, wenn sie es tut, tut mir leid, tatsächlich gibt dies eine ganze Zahl zurück. Also lass mich das nochmal versuchen. Also würde ich tatsächlich sagen, dass int-Vergleichsergebnisse dem String-Computer entsprechen. Das ist Integer. Dann sagt es, dass ein Wert kleiner als 0 zeigt, dass sie tatsächlich gültig sind, das nicht 0 ist, zeigt, dass sie unterschiedlich sind. So ziemlich viele Ergebnisse oder welchen variablen Wert Sie aus diesem Vergleich erhalten. Wenn es entspricht 0, dann zeigt das an, dass die Namen gleich sind und ich kann einfach ein anderes machen. Die Namen sind nicht gleich. diese Weise können Sie also überprüfen , ob es mehrere Möglichkeiten gibt , wie ich hier nicht alle Methoden ausschöpfen und ich kann Ihnen versichern, wenn Sie in Ihrem Berufs- oder sogar Freizeitbereich weitergehen verfolgt, Sie werden verschiedene Wege finden, unterschiedliche Bedürfnisse für String-Vergleiche die in einem einzigen Kurs nicht abgedeckt werden können. Es ist also hörbare Übung und Belichtung. Sehen wir uns als Nächstes an, wie wir Werte umwandeln. Also Streicher. Wenn Sie möchten, geben Sie der Variablen normalerweise den Datentyp an, wenn Sie möchten, dass etwas eine Zeichenfolge sein soll. Um, mal sehen, konvertieren, konvertierter Wert, konvertierte Zeichenfolge, es heißt konvertierte Zeichenfolge, ist gleich dem Zeichenfolgenpunkt leer. Ich initialisiere es einfach, um Punkt mt zu streamen. Wissen Sie, ob ich eine Nummer habe , die ich als String haben möchte. Diese Zahl könnte eine bestimmte Zahl sein, die ich so eingeben wollte. Oder es könnte in einer Variablen sein. Die Int-Zahl ist gleich diesem Wert. Und ich wollte, dass dieser Wert innerhalb dieser Variablen gespeichert wird. Ich kann nicht einfach sagen, dass Convert diese Zeichenfolge gleich Nummer ist. haben wir erschöpft. Wir können nicht einfach ein paar Ziffern der Polizei innerhalb einer Schnur nehmen . Es ist ein Wort, dass wir es stattdessen gleich konvertieren müssen. Wir müssen das Tool in 32 aus Strings konvertieren und sehen, was wir von jedem anderen Datentyp aus in String konvertieren müssen. C-Sharp macht dies sehr einfach, da es für jede Variable eine Methode gibt, mit der Sie jemals mit dem aufgerufenen String interagieren werden . Es ist so cool, dass selbst die Zahl, die Sie getippt hätten, einen Punkt sehen könnte, den Sie am Ende markieren können. Also indem du einfach diese Zahl tippst I und dann Punkte setzst. Also string, Sie würden es tatsächlich in eine Zeichenfolge für Sie konvertieren. Jede Variable, ob es sich um einen Booleschen Wert, eine Zahl, ein Double handelt, was auch immer es ist, können Sie sie auch in eine Zeichenfolge konvertieren. Aber denken Sie daran, dass das Pluszeichen, wenn es sich um eine Zeichenfolge handelt, völlig anders funktionieren wird als es funktioniert hätte, wenn es eine Zahl wäre, oder? Denken Sie also daran, dass Pluszeichen bei der Verkettung von Strings zu tun haben . Während Pluszeichen, wenn Sie es mit Mathematik zu tun haben, tatsächlich Mathematik machen und die Zahlen hinzufügen. Sei also sehr vorsichtig und sei dir dessen bewusst. Aber für die Norm ging mit String-Manipulationen pausieren. Sie können durchgehen, experimentieren, sehen, welche anderen Methoden es gibt. Andere coole wie du oben und unten sehen kannst, du kannst Joins machen. Du kannst erstellen. Wenn Sie nur String1 schreiben, drücken Sie Punkte, Sie können die anderen Methoden überspringen und sehen, die Ihnen für die Variable selbst zur Verfügung stehen. Du kannst uns tatsächlich Fullname sagen lassen und ich sehe es. Ich kann tatsächlich zwei obere sehen, wenn ich wollte, dass alles in Großbuchstaben ist. Ich könnte tatsächlich sagen, ich solle senken, wenn ich wollte, dass alles niedrigere Schlüssel ist. Es gibt eine Reihe von Methoden , mit denen Sie eine Zeichenfolge manipulieren können, ohne dass zu viel Arbeit erforderlich ist. Also habe ich dich verlassen, um zu experimentieren und zu erforschen. 18. DateTime Manipulation: Alles klar Leute, willkommen zurück für unsere eigenen Tools. Bei Gondwana ging es also um Streicher. Ich hatte vor, beide Strings MD-Zeit zu machen, aber Sie werden sehen, dass die Aktivitäten in eine andere Lektion übergehen. Das ist also in Ordnung. Wir können hier nachholen. Also habe ich das Projekt noch nicht erstellt. Mach weiter und mach das. Du kannst mit mir folgen oder Pause drücken und es alleine machen. Natürlich musst du unser neues Projekt erstellen. Wir werden mit Manipulationen an Datumszeit gehen. Dann klicken wir auf Create. Jetzt, da wir unser neues Projekt haben, lassen Sie uns sehen, welche Aufgaben es für die Datenmanipulation gibt. Hier sind die Aufgaben, die wir erledigen werden. Ähnlich wie String-Manipulation und Datenmanipulation ist sehr tief, sehr umfangreich und sehr situativ. Es gibt also bestimmte Dinge, die du meinst, dass sie in absehbarer Zeit niemals tun. Und es gibt bestimmte Dinge, die Sie vielleicht tun möchten, die ich in diesem Zeitraum nicht unbedingt zeigen werde . Lasst uns das einfach durcharbeiten. Ich werde mich nur bei einigen dieser Dinge unterscheiden. Wir können zusätzliche Zeit. Entschuldigung. Wir können es einfach durcharbeiten und sehen, wie wir am besten in der Sonne können. Erstens stellt eine Datetime einen Datentyp in C-Sharp und klingt wie primitiver Datentyp. Wenn wir also über primitive Datentypen sprechen, sprachen wir über int double stream, das sehr grundlegende Datum, die Uhrzeit oder ein komplexerer Datentyp wäre eine Kombination verschiedener Datentypen das erweitert die Funktionalität ein bisschen mehr. Wenn wir über Daten und Uhrzeit sprechen und auf Booten sprechen, nannte ein Datentyp buchstäblich die Uhrzeit. Dann geben wir ihm einen Namen. Also habe ich es angerufen. Dann möchten Sie dies normalerweise initialisieren. Und wir initialisieren dies, indem wir sagen, dass ich die Zeit kenne, Klammern öffnen und schließen. So würden Sie ein Datetime-Objekt initialisieren, keine Variable, welches Objekt? Wir gehen in das Reich des Unterrichts. Beachten Sie also, dass es irgendwie das blaugrünes Cyan ist. Ich bin mir nicht sicher, welche Farbe das hat, welche Farbe die Konsole hat. Console ist also eine Klasse. Datetime ist auch eine Klasse, und wir machen String ist blau, int char, alle diese sind blau, sie haben nicht die gleiche Farbe. Das sind keine Klassen. Das war's. Sie initialisieren also eine leere Datumszeit. Nun schauen wir uns an, wie Sie einen erstellen würden. Sagen wir also, ich wollte mein Geburtsdatum erstellen. Ich konnte sehen, dass ein Datum, Uhrzeit oder ein Geburtsdatum einem neuen Datetime-Objekt entsprechen . Und dann kann ich tatsächlich Werte übergeben, die ich gerne hätte. Wenn Sie also durchschauen, werden Sie feststellen, dass Sie eine Reihe von Optionen haben . Hier ist der, den ich will. Ich kann ein ganzzahliges Jahr, einen ganzzahligen Monat, eine ganze Zahl d, das Jahr, in dem ich geboren wurde, passieren , sagen wir, ich wurde 1980 geboren. Angenommen, ich bin im Dezember geboren. Das ist der 12., oder? Und heute wurde Let's am 35. geboren. Natürlich gibt es keinen 35. Aber es wird mir hier keinen Fehler geben, bis ich versuche, es auszuführen und es gibt mir ein Problem. Also habe ich eine Konsolenpunkt-Schreibzeile gemacht. Ich versuche, das Geburtsdatum auszudrucken und stelle fest, dass ich es einfach in die richtige Zeile weitergeben kann , weil es komplexere Objekte akzeptiert , auch die primitiven Typen haben, mit denen wir gearbeitet haben. Mein D OB ist, ich benutze einfach mein Pluszeichen hier. Wenn ich versucht habe, dies auszuführen, lassen Sie mich es bis heute Manipulationen ändern und versuchen, es auszuführen. Dann, wow, sehen wir, dass wir diese Ausnahmen haben. Eine Ausnahme ist ein Fehler , der normalerweise in unserem Programm auftritt und das Programm ziemlich tötet. Wenn Sie Google Chrome oder sogar Visual Studio verwenden und einen dieser Bereiche erhalten , sogar Windows. Und du hast diesen blauen Bildschirm des Todes, alles was er tut, ist eine Ausnahme zu treffen. Eine Ausnahme ist, dass einer dieser irreversiblen Pfeile, die ihm helfen, nicht berücksichtigt hat. In diesem Fall heißt es, dass diese die Werte, die ich präsentierte, nicht darstellbare Schlafenszeit sind . Also ja, die Gegend ist in Ordnung, der Moment ist in Ordnung, aber das ist nicht in Ordnung. Wenn ich es also auf den 31. lege und es noch einmal versuche, dann sollte ich diese gedruckten Erwachsenen besorgen. Beachten Sie also einfach, wenn Sie dieses Datetime-Objekt übergeben , das gleich den 12. bis 31. und 1980 ausdrucken kann. Das ist mein Geburtsdatum. Alles klar. Nett und einfach. Was wäre, wenn ich den aktuellen Zeitstempel wollte, damit ich eine Totzeit sehen kann. Nennen wir es nein. Ich wollte wissen, wie weit es ist, oder? Nein. Dann sehe ich buchstäblich ein Datum, eine Uhrzeit, Punkte null, die zu Ihrem System gehen , den Zeitstempel wie zum Zeitpunkt der Ausführung des Codes. Und dann wird das innerhalb dieses Objekts namens null gespeichert . Die Zeit ist also jetzt, und dann werde ich einfach nein drucken, lass mich das versuchen. Wie im Moment, als dieser Code ausgeführt wurde, war die Zeit das Datum, dass die Zeit war die ich verwende, meine Zeit auf meinem System sind. Es wird widerspiegeln, was die Systemzeit ist, sogar das Layout des Datumsformats. All dies wird von den Systemeinstellungen beeinflusst , die Sie bei der Ausführung der Schule haben. Wenn Sie also British Standards oder vier Monate verwenden, kann es in Bezug auf die Verwendung von De Montfort etwas anders aussehen , anstatt Monat, Tag, Jahr. Und wenn du keine bewaffnete Zeit benutzt, dann wirst du deine Zeit anders. Dies sind Dinge , auf die Sie achten sollten wenn es darum geht, Ihre Datumszeit auszudrucken. Wissen Sie was, wenn wir die DateTime aus einer Zeichenfolge erstellen wollten . das zu tun, bedeutet das, dass ich diese Art von String-Repräsentation gehabt hätte Art von String-Repräsentation , die gerade ausgedruckt wurde. Und das benutze ich zum Ingenieur. Ich habe den Zeitwert wert. Also kann ich Datetime, Time sehen und ich sage, dass es von der Zeichenfolge gleich ist. Ich kann eine Datetime-Parse machen. Genau wie Streicher. Es gibt eine Reihe von Methoden. Aber es will die Saite. Was ist, was ist der Stream , den er auseinander nimmt? Was ist, wenn ich einen Schrägstrich 31 Slash 2221 sage? Das sollte der 31. Januar 2021 sein. Das sieht, was ich möchte, Teile anderer Parameter , die Sie wie Parameter hinzufügen würden , um diese Kultur vollständig wissen zu lassen. Mal sehen, ob ich mich daran erinnere, wie das in Variantenkultur eintippen kann. Es gibt also verschiedene Parameter, die Sie angeben , um es wissen zu lassen. Sei nicht spezifisch für die Kultur. Hier. Ich habe gerade diese using-Anweisung für diese hinzugefügt. Es ist eigentlich eine statische Klasse wie Konsole oder LN. Also sage ich Kultur in vollem Umfang, sehr unkultiviert. Es heißt also, dass die Kultur unabhängig ist, sie ist kulturunabhängig, denn wie gesagt, das Format wird sich manchmal je nach Ihrer Kultur unterscheiden. Auf diese Weise können wir es also unabhängig machen. Nein, ich habe etwas getan und ich habe es nicht erklärt während ich seine ganze Kultur vollständig eintippte. Udot hat die rote Linie gesehen, was bedeutet, dass ich versuche, eine Methode zu verwenden , die aus einer Bibliothek stammt, die nicht enthalten ist. Denken Sie daran, dass wir Anweisungen verwenden müssen , wann immer wir Methoden aus Bibliotheken verwenden möchten, die noch nicht enthalten sind. Also musste ich Kontrollpunkte machen. Und der Vorschlag war, dass ich die using-Anweisung hinzufügen kann. Auf diese Weise ging es automatisch weiter und fügte es für mich hinzu. Ich weiß, dass ich auf diese Methode zugreifen kann. Ich zeige dir nur noch einmal andere Variablen. Ich sehe die Uhrzeit. Die Urkunde von String ist, ich drucke einfach die ID aus der Zeichenfolge aus. Werfen wir einen Blick auf das. Alles klar, also hat es wirklich und wahrhaftig gebraucht, es hat es tagsüber analysiert und dann einfach wieder in eine Zeichenfolge gepostet . In Ordnung, das ist nur ein Beispiel dafür, wie Sie von der eigentlichen Zeichenfolge in diese tatsächliche Datetime konvertieren können . Datetime ist ein tatsächlicher Datentyp, auf den Sie achten müssen , wenn Sie sich insbesondere mit einer Datenbank befassen. Da Sie String-Eingaben von Ihren Benutzern akzeptieren würden , wenn sie sie über die Konsole eingeben würden, speichern wir sie einfach in einer Datenbank. Du müsstest es als Datumszeit haben. Das ist also einer der anderen Gründe, warum Sie vorsichtig sein möchten. Was wäre, wenn wir sehen wollten, was eine Stunde von der aktuellen Zeit entfernt ist , oder? Also weiß ich es schon. Was wäre, wenn ich eine Stunde hinzufügen möchte , um zu sehen, wie viel Uhr es sein würde? Ich kann immer keine Punkte sagen. Sie haben die Möglichkeit, Stunden hinzuzufügen. Sie können IDs, Sie können Millisekunden, Minuten, Monate hinzufügen. Er kann fast jedes Konstrukt von Zeit hinzufügen. Bestehende datetime-Variable. Also sehe ich keine seltsame OA. Wenn ich also nur sehen wollte, dass eine Stunde einer Stunde von Null entfernt ist, dann kann ich einfach sehen, dass kein Punkt Stunden hinzugefügt wird. Es ist schon oben gekommen. Er weiß, wie viel Uhr es ist, nein. Und dann wird es berechnen, naja, was ist in einer Stunde? Ich konnte sehen, dass ein d von NOW kein Punkt Add Tage ist. einmal Erkundung. Mal sehen , wie das aussieht. Wenn wir das bekommen, sehen wir, dass Null 1241900 Stunden beträgt. Eine Stunde vom Knoten entfernt wäre 20. 100,1$ Tag wird in diesem Moment der 25. mit demselben Zeitstempel sein wie er war. Nein. Okay, all diese Berechnungen werden uns mit freundlicher Genehmigung dieser Methoden vorgelegt . Jetzt ist der nächste in der Aufstellung die Totzeit von Zecken. Aber ich glaube, ich bin gegangen, um es umzukehren und wir sagen einfach Zecken aus der Zeit, die ich nehme. Oder Ticks repräsentieren im Grunde die Anzahl der Taktticks seit der Zeit, sagen wir berechnet wie in diesem Moment, wenn ich Konsolenpunkte sage, richtig. Eine Zeitzahl, so ziemlich wenn Sie zu diesem Zeitpunkt einen Zahlenwert angeben würden , wäre er in Form von Dijkstra, wenn ich keine Punktzicks sagen könnte . Es erhält die Anzahl der Dinge, die das Datum und die Freizeit darstellen. In diesem Fall, in diesem Moment, gab es so viele Ticks auf Uhr, seit wir mit der Berechnung der Zeit begonnen haben. Das ist so ziemlich genau das, was Zecken sein würden. Bevor ich das teste, lassen Sie uns einfach nur in Daten und Zeit springen. Also nur Daten und Zeit nur unsere brandneuen Konstrukte und C-scharfe Zinn wo es Zeiten gibt, in denen man nicht unbedingt Zeit haben möchte. Denn hier selbst würde die Geburt nicht unbedingt Zeit haben. Geburtsdaten sind nur das Jahr, der Monat. Das Recht. Natürlich könnten Sie die Sekunden, Minuten und Stunden hinzufügen , wenn Sie möchten. Aber wir wollen das nicht unbedingt tun , denn Sie sehen hier, wenn ich weiter tippe, werden Sie sehen, dass er nicht Stunden in Minuten und Sekunden hat. sprichst du also über Datum und Uhrzeit. Das wären eigentlich die 1980er Jahre, der 12. des 31. Dezember 1988, Stunden eine Minute und 35 Sekunden. genau ist es tendenziell. Alles klar. Ich konnte tatsächlich sehen, dass ein Datum nur dem Geburtsdatum entspricht. Sagen wir D, es ist nur außerhalb der Geburt. Nur damit wir wie einige Unterscheidungsmerkmale, Geburtsdatum. Und dann nehme ich ein vorhandenes Datetime-Objekt , dieses Geburtsdatum. Und C, ich will nur das D. Ich verstehe in der Tat, es würde mich genau das zurückbringen. Eigentlich nein, Datum nur Punkte von Datum-Uhrzeit. Da sind wir los. Ich entschuldige mich. Das ist ein ziemlich neues Konstrukt, also verzeih mir. Alles klar. Dot ds würde dir also wirklich nur über die Daten berichten, oder? Lass mich, lass mich das hier raufstellen. Würde eigentlich einfach die Nullen abhacken, die nach dem ganzen Datetime hier gesehen worden wären . Alles klar. Das sollte mir also nur die Tat geben. Dann wird mir das Date nur Konstrukt einfach zurückgeben d Es kümmert sich damals nicht darum. Aber wenn ich eine Datumszeit habe, kann ich sagen, gib mir das Datum nur ab Datumszeit und gebe dir diesen Datetime-Wert. In ähnlicher Weise sehe ich nur Zeit. Lassen Sie mich nur zur Zeit am meisten verschütten. Und ich sage einfach mal. Zeit ist nur gleich, und ich kann diese Zeit nur von der Zeit an tun. Probieren wir es ohne Grund aus, dass ich weiß, dass es eine tatsächliche Zeit haben wird eine tatsächliche Zeit haben , da es sich um einen Zeitstempel handelt. Versuchen wir also all diese zusammen. Hier. Ich sehe das, obwohl ich gesagt habe, dass es mir immer noch das Deet zurückgeben wird , das immer noch über die Zeitkomponente nach rechts hinausgeht. Was wir nicht einen Sprint gemacht haben, also lass mich nur den Sprint hinzufügen. Lassen Sie mich diese einfach schnell hinzufügen. Und das wird ddt der Geburt sein. Und dann verwechsle das hier. Also lass mich das ein bisschen reparieren. Wir werden sagen, dass Zeit nur die Zeit ist. Nach dem Einsetzen der Konsole. Versuchen wir es noch einmal. Nein. Noch einmal, obwohl ich Geburtsdaten gesagt habe, geben Sie mir die vollständige Datetime und geben Sie mir dann den Datetime-Punkt d t. Sie können sehen, dass die Zeitstempel immer noch versuchen, hinzugefügt zu werden. Ich bin durch den Zeitstempel gegangen, habe eine Stunde hinzugefügt, und das sind die Zecken. Wie in diesem Moment, was auch immer diese Zahl ist, wenn Sie versuchen möchten, sie aufzurufen, können Sie mich wissen lassen, was dieser Wert ist, was das ist die Anzahl der Ticks, die ich seitdem durchgemacht habe wir haben angefangen, die Zeit zu berechnen. Dann repräsentiert das Datum nur hier nur das Datum. Dies ist also buchstäblich das Geburtsdatum, nicht das Datum, die Geburtszeit. Alles klar. Und wenn ich dann nur eine Zeit wollte, ist es an der Zeit, dass es den Zeitstempel brauchte und mir nur die Zeit gab, nicht das Datum und die Uhrzeit. Dies sind also einige Möglichkeiten, wie Sie Daten und Zeiten d oder Vorteil manipulieren können. Ich kann Ihnen versichern, wenn Sie Funktionen nutzen , die sich zu bestimmten Zeitpunkten mit Dietz und Zeitstempeln und bestimmten Dingen befassen Zeitpunkten mit Dietz und Zeitstempeln und müssen, müssen Sie definitiv werden vertraut mit einigen dieser Funktionen. Wieder einmal kann ich möglicherweise nicht jeden einzelnen von ihnen sehen . Es gibt Dinge, die man erforschen muss, wie man experimentiert. Sie sind auch Dinge wie die Rückkehr des Jahres. Was wäre, wenn ich wissen wollte , an welchem Tag ich geboren wurde? Ich könnte sagen, Geburtsdatum Punkt d außerhalb der Woche. Das wird mich also zurückgeben, wenn es 1234567 ist, Tag der Woche, er wird ihnen die Freizeit geben D, die mir den Tag des Jahres geben wird, oder? Es gibt also 365 oder 366 Tage im Jahr. Welcher Tag des Jahres war das? Wenn ich sage, gib mir nur das D, ist es die ganze Zahl des D, oder? freie Tag ist also anders als die freie Woche , weil D offensichtlich ist. Wir wissen, dass es der 31. ist, aber der Wochentag, der 19981980 der 31. war, wir wissen nicht unbedingt dass d von schwach ein anderes Konstrukt ist. Du hast andere Dinge wie ich sie gerade hinzugefügt habe. Also die freie Woche, der Tag Ihrer Auszeit, die Anzahl der Ticks. Als ich geboren wurde, und derjenige, oder? Also wenn ich nur eine weitere Ausführung nur um zu sehen, was für all diese Werte im Verhältnis zum Geburtsdatum ausgedruckt wird all diese Werte im Verhältnis zum . Siehst du das? Ich wurde geboren. Ich weiß, dass es da ist. Es war der 366. Tag des Jahres, also war das ein Schaltjahr. können Sie also bedenken, wenn Sie versuchen , Schaltjahre zu berechnen. Sie können die Auszeit sehen, nun, ich habe keine Uhrzeit angegeben, also würde mir die Tageszeit tatsächlich etwas ähnliches wie die Zeit geben . Das war eine Reihe von Ticks, oder? Wenn ich also etwas Mathematik machen würde und sagte Diese Anzahl von Ticks, diese Anzahl von Ticks, würde ich tatsächlich die Anzahl der Zecken zwischen dem Zweifachen NEIN und dem Geburtsdatum erhalten zwischen dem Zweifachen NEIN . Die Art hier ist angegeben. Also würde sich tatsächlich darauf beziehen, ob es UTC oder ESD oder eine lokale Zeit ist, so ziemlich, so dass ich keine bestimmten Orte erstellt um Zeitstempel oder Zeitzone zu sehen. Das war so nett ist nicht spezifiziert. Das sind also einige Ideen, wenn er zur Manipulation kommt. 19. Exception: Hey Leute, willkommen zurück. In dieser Lektion werden wir uns Ausnahmebehandlung befassen. Wir haben uns früher die Ausnahmebehandlung angeschaut. Sind wir früher auf eine Ausnahme gestoßen , als wir uns unsere Datetime-Objekte angeschaut haben. Und wenn Sie sich erinnern, wenn wir einmalige Objekte erstellen, geben wir einen ungültigen Wert ein. Und dann gab uns das Programm einen Fehler. Es gab uns einen Textblock, von dem ich sicher bin , wenn ich ihn nicht gelesen und Ihnen erklärt hätte, hätte es keinen Sinn ergeben. Das ist im Allgemeinen eine Ausnahme. Eine Ausnahme ist ein schwerwiegender Fehler, der in Ihrem Programm auftreten würde. Normalerweise gibt es einen sehr fiesen Fehler. Und es ist nicht unbedingt etwas , das Ihre Benutzer sehen sollen. Schaukeln Sie also einfach in Ihre Erinnerungen zurück und denken jedes Mal, wenn Sie sehen, dass Google Chrome mit einer Nachricht abstürzt, die keinen Sinn ergibt. Oder dieser blaue Bildschirm des Todes auf Windows oder ein Fehler, der in einer Anwendung auftritt , in der diese Anwendung einen Fehler anzeigt. Und wenn Sie versuchen, wegzunavigieren, stürzt die Anwendung möglicherweise ab. Es gibt auch Zeiten, in denen diese Anwendung nicht abstürzt, aber in einen größeren Fehlerzustand versetzt, mit dem Sie Ihren Vorgang fortsetzen können. Nein, das nennen wir Ausnahmebehandlung. Der Fehler selbst ist eine Ausnahme. Dann nennen wir das Handling, wie es behandelt wird. In C-Sharp und den meisten anderen Sprachen erfolgt die Ausnahmebehandlung durch einen Try-Catch-Block. Ein Versuch oder der Trip Teil des Try-Catches wird im Grunde genommen die Operation ausprobieren. In Ordnung, also ist es gut zu versuchen, etwas zu erledigen, eine Aufgabe zu erledigen. Sie fangen den Abschnitt von diesem ganzen Block ab fangen alle schwerwiegenden Fehler oder Ausnahmen ab, die beim Ausprobieren der Operation auftreten können. Dann siehst du normalerweise, oder manchmal siehst du einen anderen Block namens „Endlich“, was bedeutet, ob der Fang erfolgreich war, ob der Trie oder der Fang erfolgreich war. Tun Sie das am Ende des Versuchs, vielleicht fangen, tun Sie das. Wenn du es versuchst und erwischt wirst, dann tu das trotzdem. Das ist so ziemlich genau das, was es tut. Und dann ist ein anderes Schlüsselwort , das normalerweise in der Ausnahmebehandlung angezeigt wird, wahr, was bedeutet, dass die Programmausführung mit dem Fehler erfolgt. In Ordnung, wir werden hier eine kleine Übung machen , in der wir untersuchen werden, unter welchen Umständen es zu Fehlern kommen könnte. Watts können wir tun, wenn es Fehler gibt und warum würden wir diese Dinge tun wollen, oder? Also habe ich mit einer sehr einfachen Anwendung angefangen. Ich werde nur eine dieser Operationen wiederverwenden , die wir zuvor hatten. Dies würde und entlehnt keinen Code aus einem unserer vorherigen Beispiele. Sie können einfach Pause drücken und das replizieren, aber ich sage nur, geben Sie die erste Nummer speichern Sie sie während des Genoms in Num 1-Sekundenzahlen , um die Pause zu treffen, replizierte das. Nein, im Allgemeinen möchten Sie hier eine Art von Operation durchführen. Sie möchten sagen, sagen wir zum Beispiel, dass der Quotient von num1 und num2 normalerweise num1 geteilt durch num2 sein wird. Einfache Mathematik, Num eins geteilt durch Num2. Dann möchten Sie schreiben, dass der Quotient egal ist, was auch immer dieser Wert ist, Ergebnisse sind. Dann verkette ich das einfach. In Ordnung? Das ist also ein typisches Mathe-Beispiel. Ich bin zu gegangen. Führen Sie zuerst diesen Vorgang aus. Und ich habe das Projekt bereits erstellt. Wie Sie sehen können, nenne ich dies natürlich eine Ausnahmebehandlung. Behandlung von Ausnahmen. Lassen Sie uns damit in die erste Zahl laufen , die zehn geteilt durch eins ist. Das Ergebnis ist zehn. Okay, unkompliziert. Versuchen wir es noch einmal. Wenn ich das Gleiche mit 100 mache. Ich schaue mir das an. Im Visual Studio. Ich bekomme diesen gelben Pfeil. Niemand hat bereits das Debuggen durchgemacht. Wir wissen, dass dieser gelbe Pfeil normalerweise anzeigt, in welcher Zeile Sie sich befinden, besonders nachdem Sie unseren Haltepunkt eingelegt haben , um es zu wissen, bin ich mir sicher, dass Sie diesen gelben Pfeil nicht codiert haben taucht aus eigenem Willen auf. Dann hättest du dieses rote X mit der Nachricht Excepts bei unbehandeltem nicht gesehen . Hier heißt es also , dass wir ein System.Out dividieren durch 0 haben , Ausnahme, versucht, durch 0 zu dividieren. Es gibt also bestimmte Dinge, die nicht aufhören können, durch 0 zu teilen, ist einer von ihnen. Und das System, das Ihr Computer ist und im Allgemeinen Computer ist, kann einen Vorgang nicht bewältigen, bei dem Sie es auffordern, eine andere Zahl durch 0 zu teilen. Das ist es, was eine Ausnahme verursacht. Und dann würde diese Art von Ausnahme Ihr Programm zum Absturz bringen, weil Sie sehen, dass es einfach nicht mehr läuft. Und jetzt bekomme ich diesen fiesen Fehler in der Konsole, der eine unbehandelte Ausnahme sagt, dann bedeutet das wirklich, ich meine, es bedeutet dir als Anfänger wahrscheinlich nichts . Und das ist in Ordnung. Ich habe genug davon im Laufe meiner Karriere gesehen , um zu verstehen, was es ist. Was der Sinn ist, dass Sie diesen Textblock oder irgendetwas hier unserem Benutzer nicht anzeigen möchten diesen Textblock oder irgendetwas hier unserem Benutzer nicht anzeigen oder irgendetwas hier unserem Benutzer , da dies für den Benutzer keinen Sinn ergibt. Stellen Sie sich also vor, wie Sie sich fühlen, wenn Sie Google Chrome sehen oder welche Anwendung ich weiterhin verwende, weil Sita es dem Bräutigam ermöglicht, was sie gut damit umgehen, aber manchmal zeigen sie einige obskure Fehler . Ich denke, dass es ihnen in jüngerer Zeit viel besser geht . Aber manchmal sieht man diesen obskuren Fehler. Das sind also die Ausnahmen innerhalb der Anwendung stattfinden. Aus diesem Grund neigen Anwendungen dazu, zu sagen, dass Sie dieses Feedback-Programm machen möchten wenn sie auf eine Ausnahme stoßen, die Nachricht tatsächlich an sie zurücksenden. Sie erhalten also diese Art von Nachricht in ihrer E-Mail, die besagt, dass dies einem Benutzer passiert ist, weshalb Sie Updates erhalten. Keine Anwendung ist perfekt. haben sie alle irgendwie Pfeile. Deshalb bekommst du weiterhin Updates, weil sie dann in Code gehen und ihn reparieren würden. Also lasst uns das in Ordnung bringen. Dies ist eine Ausnahme, die wir nicht berücksichtigt haben. Lasst es uns reparieren. Also können wir das in einen Try-Fang einwickeln. Wie ich schon sagte, der Trie repräsentiert die Operation, die Sie versuchen. Ich kann sagen, versuchen Sie und indem Sie einfach zweimal Tab drücken, wird es diesen gesamten Try-Catch-Block für mich generieren, dieser Block ist es, was wir versuchen würden. Ich meine, es könnte nicht so viele Zeilen sein, wie Sie brauchen, ist die Operation , die Sie trainiert haben. Weil Sie manchmal 235 Schritte in einer Operation haben und jeder dieser Schritte eine Ausnahme auslösen kann. Wenn wir also zum Beispiel eine Ausnahme auslösen oder eine Divisionsoperation versuchen, würden wir versuchen. Wenn dies eine Ausnahme auslöst, haben wir diesen Catch-Block. Beachten Sie, dass es heißt Ausnahme fangen. Ausnahme ist der allgemeine Datentyp verwendet wird, um festzustellen, wann ein Fehler aufgetreten ist. Das sind alles nur Ausnahmen obwohl Sie bestimmte haben werden. Sie sind alle die Basis von Ausnahmen. Du fängst die Ausnahme auf. Und dann können Sie diese Ausnahme tatsächlich anstelle einer Variablen oder eines Objekts speichern . So können wir ihm ein Objekt II oder III Eier geben oder es Ausnahme nennen, mit allen Kleinbuchstaben, die ich als EX-Gesetz belassen habe. Im Grunde sagen wir, probieren Sie diese Operation aus, fangen Sie eine Ausnahme oder einen Fehler ab und speichern die Ausnahme oder den Fehler des Details Offset innerhalb dieser Variablen namens EAX. Dann werden Sie feststellen, dass Sie auch dieses Schlüsselwort namens throw haben. Throwable ist das, was das Programm tatsächlich tötet. Wenn ich also Wurf entfernen würde, würdest du tatsächlich weiter ausführen. Wenn wir es also versuchen, fängt es die Ausnahme ein, wenn ich es nicht durchmache. Also hier würde ich wahrscheinlich eine E-Mail senden oder sie irgendwo dort in ein Protokoll schreiben, wo es noch da ist. Aber ich gebe Ihnen nur die Ideen , weil wir jeden Tag Anwendungen verwenden. Das sind Dinge, die wir dort irgendetwas sehen. Aber ich zeige Ihnen nur , dass es wirklich auf diese kleinen Code-Bits ankommt . Genau hier zeigt Ihnen diese Anwendung das Dialogfeld an und sagt: Hey, wissen Sie, wir haben bei Ihnen gesucht , sind auf einen Fehler gestoßen. Möchten Sie einen Bericht an unsere Entwickler senden? Du sagst ja, was sie dann erwischt haben, um dir den Dialog zu zeigen. Wenn Sie ja sagen, senden Sie den Fehler ab , der sich in diesem Objekt befindet. Das ist alles, was passiert. Dann würde am Ende des Vorgangs gedruckt werden oder ob wir nicht drucken können da diese Variable in diesem Bereich existiert. Dies ist ein guter Ort , um über Umfang zu sprechen. Wenn Sie eine Variable zwischen zwei geschweiften Klammern definieren, lebt diese Variable nur so lange , wie sie auf diese Linie trifft und diese geschweifte Klammer endet. Das tränkt ein wenig ein. Deshalb kann ich keinen Quotienten außerhalb des Try Catches drucken , da diese Variable nur innerhalb dieses Test-Blocks existiert. Also kann ich alles tun, was ich da drinnen warnen möchte . Als ob ich es im Tablett ausdrucken kann. Sobald ich nicht damit interagieren kann, möchte ich es versuchen, ist fertig. Deshalb kann ich nicht draußen vom Tablettleuchtturm drucken , um es zunächst zu tun. Das sind Dinge , auf die man achten muss. Lassen Sie uns jetzt fortfahren, wenn ich Wurf sage, dann würde es die gleiche Situation haben, in der es gerade die Hinrichtung ganz beendet hat. Sie möchten nicht unbedingt werfen, es sei denn, Sie sind sich absolut sicher, dass dies Ihr gewünschter Effekt ist. Wenn Sie das Programm beenden möchten, wenn diese bestimmten Bereiche im Konzert sind, dann möchten Sie werfen. Lassen Sie uns also sehen, dass das Dividieren durch 0 nicht die Art von Fehler ist, auf den Sie werfen möchten. Wenn Sie jedoch eine andere Art von Ausnahme feststellen und dann werfen möchten, möchten Sie unterschiedliche Reaktionen auf verschiedene Arten von Ausnahmen. Nun, man kann tatsächlich mehrere Fänge haben. Sie können eine bestimmte abfangen, sagen wir geteilt durch 0 Ausnahme. Und dann kannst du entscheiden, wann es sich um eine Ausnahme dividieren durch 0 handelt. Ich möchte eine illegale Operation sehen. Sag einfach illegale Operation. Und dann könnte ich diese Ausnahmemeldung tatsächlich auch in ein eigenes Objekt legen. Nennen wir es also EX. Wenn Sie also diese Ausnahme abfangen, speichere ich, dass sie EAX nicht in diesem Catch-Block ausgelöst hat. Und ich werde die Nachricht drucken, die mit Ausnahmen geliefert wurde , damit ich EX-Punkte sehen kann. Dann sehen wir eine Nachricht. Wenn ich das am Ende für Semikolon mache, erhalte ich diese Art von Ausnahme. Andernfalls kann jede andere Art von Ausnahme eine E-Mail an das Entwicklungsteam senden und das Programm töten weil ich nicht bereit bin, danach fortzufahren. Alles klar? Und dann sage ich es einfach endlich. Dann können wir im endgültigen Block einfach console.WriteLine. Ich sage einfach, dass dies der endgültige Block ist. Das ist also schlimm. Versuchen wir es noch einmal. Dies ist der endgültige Block. Da sind wir los. Was wir am Ende tun wollten, ist , ob wir erfolgreich waren oder wir es die Division durch 0 nennen. Wir wollen dies als endgültigen Block speichern. Oder sagen wir einfach, dies ist das Ende des Programms. Aus dem Programm. Probieren wir es aus. Eine Ausnahmebehandlung, führe es aus. Und dann mache ich eine richtige Division. Also mache ich 105 und dann kriege ich zwei. Und du siehst, dass dies das Ende des Programms ist. Also versuchte es, fing keine Ausnahmen auf und tat dann das endlich. Alles klar, also versuchen wir es noch einmal. Und dieses Mal werde ich versuchen, diese Division durch 0 Ausnahme zu bekommen . Wir werden sehen, dass es immer noch bis zum Ende gesprungen war und mit Ausnahme fortfahren. Wenn ich also zehn geteilt durch 0 sage, wird es eine illegale Operation Doppelpunkt sagen. Das ist meine statische Zeichenfolge, die ich getippt habe. Alles klar. Und dann wäre die EX-Punkt-Nachricht der Versuch , durch 0 zu dividieren. Das ganze Fehlschlagen , das wir früher gesehen hätten, als es die Ausnahme ausgelöst hätte , wäre eine Reihe verschiedener Informationen gewesen, die alle in diesem Objekt eingepackt sind oder Variable namens EAX, die die gesamte Ausnahme und alles, was schief gelaufen ist, verkörpert . Ein Entwickler würde das also sehen wollen, weil Sie dann den gesamten Umfang des Fehlers sehen und ihn besser beheben können. Im Allgemeinen erhalten Sie jedoch eine nette Nachricht, die menschenlesbarer und menschenfreundlicher ist . Dies ist es, was Sie dem Benutzer vielleicht präsentieren möchten , weil dann der Benutzer würde eine Idee bekommen, dass okay ist, das habe ich falsch gemacht. Sie erhalten jedoch nicht den vollen Shebang auf der Zeilennummer und alle möglichen Details über den Code, den die Immobilie nicht benötigt, nicht sehen sollten, oder? Außerdem möchten Sie nicht unbedingt Benutzer. Sie wissen nicht, wer Ihre Anwendung verwendet. Sie möchten nicht, dass sie unbedingt wissen , dass diese Zeile 20 dies tut usw. Dies sind also Möglichkeiten, mit denen Sie potenzielle Fehler in Ihrem Code behandeln können . Weil wir nicht perfekt sind. Manchmal schreiben Sie Code und wir wissen nicht , dass wir Dinge tun, die möglicherweise fehlschlagen, insbesondere wenn Sie anfangen, größere Anwendungen zu schreiben , die andere Abhängigkeiten haben , die das Symbol a -Datenbank oder beim Herstellen einer Verbindung mit dem Internet. Wenn Sie versuchen, sich mit dem Internet zu verbinden, das Internet nicht eingeschaltet, dann müssen Sie die Ausnahme abfangen und so behandeln , dass der Benutzer nicht das Gefühl Ihr Programm nicht geschrieben ist richtig. 20. Arrays: Willkommen zurück Leute. In dieser Lektion werden wir uns Arrays ansehen. Sie können also damit beginnen , das Projekt zu erstellen , das wir benötigen. Ich nenne es Arrays und dann können wir zur Sache kommen. Ich habe einige Kommentare hinzugefügt, die nur als Leitfaden dienen, was wir in dieser Lektion besprechen werden. Ein Array repräsentiert also eine Sammlung von Werten. Wir hatten also früher ein wenig Kontakt mit einem Array , als wir uns unsere String-Manipulationsoperationen anschauten . Und wenn du dich daran erinnerst , wann ich euch die Spaltung gezeigt habe, gehen wir los. Moodle sah diese eine quadratische Klammern oder eckige Klammern. Und ich sagte, das bedeutete , dass es sich um eine Sammlung von Stringblöcken handelte , und wir mussten durch sie und Spannung navigieren an dieser Stelle durch sie und Spannung navigieren, weil wir darüber diskutieren würden. Nun, diese Zeit ist gekommen. Lassen Sie mich also einfach alle Registerkarten schließen , die nicht unbedingt notwendig sind. Und wenn Sie einfach mit der Mitte auf den Tab klicken, wird es geschlossen. Ich weiß also nicht, ob ich es euch vor niemandem gezeigt habe. Wenn Sie einen Tab haben, öffnen Sie unseren Codeblock geöffnet und Sie möchten ihn schließen. Sie können auf die XES-Woche klicken und auch in der Mitte auf den Tab klicken, es wird geschlossen. Beginnen wir mit unserer Definition eines Arrays. Ein Array ist eine Sammlung von Werten. Wenn wir zum Beispiel sammeln, die Noten oder fünf Schüler sehen wollten , müssten wir normalerweise Edens grün sehen. Einer ist gleich und dann müssen wir in der zweiten Klasse und der Klasse 345 usw. tun. Das ist nicht sehr effizient. Was ist dann, wenn die Klasse auf zehn geht, dann müssen wir wieder in unser Programm kommen und wieder zehn machen. Der Punkt ist, dass es nicht sehr effizient ist, wenn wir verschiedene Variablen wie diese haben müssen, um diese Werte zu speichern. Was also passiert , ist, dass ein Array eine Sammlung von Werten für ein Ziel wäre . Wenn ich weiß, dass ich Noten möchte, kann ich einen Sammlungstyp für Noten erstellen. Und worüber wir dann gesprochen haben, feste Größe, bedeutet, dass ich genau weiß, wie viele Raster ich will. Denn wenn es sich um alle fünf handelt, dann möchte ich eine Sammlung von fünf Rastern. Um diese Art von Konstrukt zu definieren. Ich würde zuerst den Datentyp für diese Sammlung verteidigen. Und im Allgemeinen können Sie jeden Datentyp verwenden, wenn Sie eine Sammlung von Namen wünschen, es wäre ein String-Array, genau wie wir gesehen haben, haben wir die Zeichenfolge in einer String-Manipulation. Hör zu. Es könnte eine doppelte Ansammlung von Gehältern usw. sein. Noten sind also nur ein Beispiel, int, und dann benutzen Sie Ihre quadratischen Klammern, dann geben Sie ihr einen Namen. Das ist also meine Kollegin Norma Ari. Ich rufe Grids an. Und dann sehe ich z gleich new int. Und dann würde ich mit quadratischen Klammern sagen, welchen Wert ich Ihnen geben würde C Visual Studio, der Maxwell es vorschlägt , das ist nicht was ich will. Ich möchte nicht, dass die maximalen Kollegen an sind, weil das Ihren Computer zum Absturz bringen könnte. Aber ich habe gesagt, ich will fünf, also setze ich fünf Semikolon ein. Das bedeutet, dass es in den Speicher geht und fünf Plätze für mich reserviert. Ordnung, fünf Space-Adressen werden im Speicher reserviert, alle als Raster bezeichnet. Und was dann passieren wird, ist, dass jeder eine Zahl mit ihnen verbunden hat. Da Raster Platz ist, auch ein Rasterraum. Aber dann beginnt die Nummerierung für RAs normalerweise bei 0. Denken Sie also an den Weltkrieg während der for-Schleife, wir sagten, wir beginnen bei 0 und steigen auf eins weniger als die Ausstiegsnummer. Wenn also die Größe des Arrays fünf beträgt , ist die Kegelsache 0. Dann 1234. Und das ist es, weil das 12345 Arten im Gedächtnis sind. In Ordnung, das ist also ein Teil der Arterien, der verwirrend sein kann. Aber sobald Sie sich daran gewöhnt haben, dass die Größe noch einmal fünf ist, reservieren wir Phasenarten. Aber jeder hat eine Adresse von 0 bis eine weniger als diese Zahl. Wenn ich das also wie eine mathematische Gleichung sehe, wenn n die Größe des Arrays ist , hat Ihr Array Adressen von 0, Tooele minus eins. Ich versuche genau da wie ein Mathe-Genie zu klingen. Alles klar. Fünf Space-Adressen würden dir also 0 bis n minus eins geben, was vier ist. Das war's für unsere Ys. Wenn ich zehn sagen würde, wäre es 010 minus eins. 0 bis neun würden dir also die Adressen geben. Jetzt muss ich den Wert hier abdecken und ändern. Es ist ziemlich einfach. Ich meine, wenn ich es größer wollte, mach es 15. Wenn ich es kleiner will, mach es fünf. Was auch immer. Keine Arten mehr, die ich hier anfrage. Wenn das Programm ausgeführt wird, wird es mir so viele im Speicher behalten. Lassen Sie uns nun über das Hinzufügen von Werten zur IRI sprechen. Ich habe also nicht gesagt, dass Sie Abonnements haben würden , die Sie als Abonnements bezeichnen. Abonnements stellen diese Zahlen dar , die die Adressen darstellen. Wenn ich das erste Raster hinzufügen wollte, muss ich sagen, dass es das Array nach Namen genannt wird. Fügen Sie dann meine eckigen Klammern hinzu und rufen Sie die Adresse dann nach Wert auf. Die erste Klasse wäre also 0, was die erste für mich reservierte Adresse ist. Und dann würde ich ihm den Rasterwert geben. Dann kann ich das nochmal machen. Upgrades für eins wären zwei usw. usw. Visual Studio macht also nur Vorschläge. Dies sind nicht unbedingt die Werte , denn diese sind offensichtlich großartig. Vielleicht haben Sie 25 Punkte erzielt, vielleicht haben die Schüler drei Quadrat 38 erzielt, und vielleicht haben Schüler vier 45 Punkte erzielt. Beachten Sie, dass dies Schüler vier ist, weil dies einer ist, das ist zwei, das sind drei, und dann sind dies vier. Obwohl die Adressen 0123 sind und ich denke, dass wir bis 12 Jahre erschöpft sind, haben wir kein Recht, die Noten für alle Schüler zu betreten. Ich würde am Ende mit Zeilen enden, wir können diesen Schüler 12345 lassen, alle fünf Schüler und sie werden ihre Noten haben. Aber ich sehe, dass das ein bisschen mühsam ist. Wenn Sie denken, dass dies mühsam ist, stimme ich zu, denn wenn ich dies auf 25 erhöhen würde und Sie 25 Zeilen wie diese schreiben müssten , wäre das nicht sehr effizient. wir auch einen Blick darauf, was passieren würde wenn ich die fünfte Klasse hinzufügen würde. Wenn ich also sagen würde, dass Raster fünf oder Sechstklässler anderen niedergelegt haben, sagte ich, du bist 60 Jahre alt. Wenn ich versucht habe, diese Anwendung auszuführen , können Sie zu Bereichen wechseln, während Ihr Startprojekt auf Ihre Schaltfläche klickt und sich dann die nicht behandelte Ausnahme ansehen, die wir gerade durchgemacht haben, außer bei der Handhabung. Jetzt bekomme ich eine unbehandelte Ausnahme. Und dieser Ausnahmetyp ist System.Out-Index außerhalb des Bereichs Ausnahme. Ich muss darin sehen , dass der Index außerhalb der Knochen des Arrays lag . Das heißt also im Grunde genommen , dass Sie fünf Arten haben. Du hast mich nach fünf Arten gefragt. Warum versuchen Sie, einen sechsten Wert in etwas zu setzen , das nur Platz für fünf hat, diesen Index aus dem Bones-Array. Grundsätzlich sehen Sie, dass Sie versuchen, auf ein Leerzeichen zuzugreifen, das nicht innerhalb der Bones des Arrays existiert. In Ordnung, deshalb ist es sehr wichtig zu wissen, dass die Zahlen von 0 auf n minus eins gehen. Wenn n die Größe des Arrays ist, ist das sehr illegal. Wissen Sie, dass eine andere Art und Weise, wie ich diese Werte hätte zuweisen können, in einer Zeile wie dieser sein würde. Wenn ich sagen würde, wären Raster gleich einem neuen int. Und dann stellte geschweifte Klammern zur Verfügung und setzte dann diese Werte ein. Also ein Mod 2538, **** 4554. Und das wird ein netter Liner sein, um Werte zuzuweisen. Also bräuchte ich keine sechs Zeilen. Ich hätte alles in einer Zeile machen können, weil ich natürlich nur das Array hier initialisieren muss. Lassen Sie uns das einfach kommentieren und so tun, als hätte ich diese Anzahl von Arten initialisieren können. Nein. Lassen Sie uns sagen, dass wir nicht wissen, dass die Noten von Fronten eine Anwendung geschrieben haben, was wahrscheinlich die Situation sein wird, in der eine Anwendung geschrieben wird, damit Benutzer uns diese Raster zur Verfügung stellen können. Also meine ich, normalerweise würdest du als IT-Person nicht wollen , ein Programm zu schreiben, und bis du diese alle benutzt, komm und sag mir, welche Abschlüsse es gibt damit ich sie für dich eingeben kann. Du willst ihnen nicht die Macht geben, selbst in die Gitter einzutreten, jemand, der reinkommt. Dann schauen wir uns ganz an. Wir können ein Programm schreiben , das es dem Benutzer ermöglicht, jede davon durchzugehen und einzufügen. Also werden wir Loops praktischer verwenden. Nein, nicht nur eine Beispielweise. Also haben wir so etwas in unserer String-Manipulationsübung noch einmal gemacht, wo wir die IRI hatten und Sie unser Array durchlaufen wollten. Erinnerst du dich daran? Wollte das Array durchlaufen. Wir können etwas sehr ähnliches tun. Also werde ich nach oben Tub int I sehen, erinnere mich daran, dass ich nur mein Zähler gleich 0 ist. Hier ist also wieder ein sehr wichtiger Punkt. Warum starten wir den Kegel auf 0, weil unser Array bei 0 beginnt. Wie wir Relevanz betrachten. Die nächste. Ist das, dass man immer auf welche Zahl achten kann. Aber wenn Sie die Nummer so fest codieren, wissen Sie nicht, ob das morgen 15 oder 55 benötigen wird . Wenn Sie also die Nummer hart codieren , an die Sie sich erinnern müssen, dass Sie jedes Mal die Größe des Arrays ändern, Sie die Größe des Arrays ändern, die for-Schleife ändern müssen, die Sie vielleicht vergessen. Wir sind alle Menschen. Deshalb würden wir wahrscheinlich Array-Punktlänge verwenden wollen, unabhängig davon, welche Länge es letztendlich hat. Diese Länge kriegen wir einfach während der Laufzeit. Und wir wissen, dass wir zu N minus einer dieser Länge gehen. Und dann haben wir unseren Inkrementer. Wissen Sie, nachdem wir diesen gesamten Code geschrieben haben, werden wir den Benutzer auffordern, die Noten einzugeben. Also sagte ich Konsolenpunkt-Readline. Jedes Mal, wenn die Schleife läuft, möchte ich auffordern oder Benutzer Gier eingeben. Und ich werde nur Konsolenpunkt-Schreiben machen , also nicht, ich wollte keine Zeile. Und dann kann ich Gitter mit dem Tiefpunkt des Wertes von mir sagen . Okay, also lass das ein wenig einweichen. Denken Sie daran, dass ich anfangs sagen könnte, geben Sie mir diese genaue Adresse und ich kann die Nummer eingeben. Alles klar. Nein, ich möchte, dass es etwas dynamischer wird. Ich möchte es nicht fest codieren. Ich möchte, dass es dynamisch ist. Ich weiß also bereits, dass die Schleife bei 0 beginnt und minus eins von was auch immer hinzugefügt wird. Wie groß diese Aris auch sein mag. Also kann ich mich darauf verlassen, als Zähler, der von 0 bis zum Ende des Arrays geht, eins nach dem anderen, einfach 0, dann eins, dann zwei, dann drei, dann vier. Das haben wir mit den for-loop-Arbeiten gesehen. Das ist der Zähler in den For-Loop-Werken. Hier. Ich werde nur sagen, gib mir Gitter zum Tiefpunkt von I, richtig? Darin möchte ich speichern, ich möchte nicht sagen, konvertieren in int 32 und erhalte den Wert von der Benutzerkonsole. Konsolenpunkt-Lese-Zeile. Ich sehe jedes Mal, wenn du für jeden Tiefpunkt durchgehst, geh und hol mir den Wert aus der Eingabe des Benutzers, wandle ihn in ein int und einen Speicher anstelle meines Arrays um. Es scheint einfach und unkompliziert genug zu sein, oder? Mal sehen, wie das funktionieren würde. Wenn ich also ausführe und zu meiner Konsole springe, siehst du hier, dass es pausiert. Es wartet nur darauf, dass ich ins Raster komme. Dies würde also das Raster in die Klasse 0 eingeben , da es der erste Lauf ist. Und in der ersten Klasse hatte ich einen Blick darauf , was passiert, wenn ich Enter Looped drücke. Es ging zum Werkzeug, ging zu ihm inkrementierte den Zähler. Ich weiß, dass es am zweiten tiefgestellten Bereich auf diesen Rasterwert wartet. Das werden also 2538 und dann 45 und dann 54. Und dann schau da hin, es fragte sich um 001234 Arten. Die IRI, wenn ich das noch um 150 bis eins zu eins weniger als den Irisraum erhöhe . Nett und einfach. Wisse, dass wir die Werte gesammelt haben. Schauen wir uns Halt an, stellen Sie sie dem Benutzer wieder vor. Ich schätze also, ich hoffe, dass Sie inzwischen erkennen, dass der einfachste Weg, ein Array zu durchqueren, darin besteht , eine for-Schleife zu verwenden. Also werde ich diese Übungen noch etwas mehr drucken . Geben Sie also alle Raster ein. Das ist nur die Heizung, um zu sehen, wo alle Gitter betreten werden. Und dann sehen Sie, dass die Noten , die Sie eingegeben haben, die Noten sind, die Sie eingegeben haben, wenn Sie eingegeben haben. Dann drucken wir sie unten aus. Wieder einmal, vorwärts für die Schleife, genau das Richtige für das Top-Tablet, erzeugte es diesen Stub. Wir werden uns für die Länge des Arrays entscheiden. Also Array-Name Punktlänge. Und dann werden wir Konsolenpunkte sehen, oder? Wir werden einfach Raster drucken. Der Tiefpunkt von I. Man wird es auf einem füllen wird es nur auf den Bildschirm bringen. Das ist ein Rattenland. Wir werden sie eins nach dem anderen sehen. Also lass mich das alte mit dir testen. Wir sehen Inter Grid. Ich gebe einfach ein paar zufällige Rasterwerte ein. Dann, nachdem er sie betreten hat, zieht es. Die Vereinigten Staaten stimmen zu, dass Sie unsere 1020 eingegeben haben , um dieselbe Bestellung zu senden , in der ich sie eingegeben habe. Dies ist die gleiche Reihenfolge. Sie werden ausgedruckt, weil es sich um eine strukturierte Sammlung handelt. Es weiß, was zuerst war, was krank war, was Dritter war. Wenn ich einen bestimmten drucken wollte. Ich könnte einfach sagen, Konsolenpunkt-Schreibzeile und C-Noten mit einem Tiefpunkt von C. Three. Das wird mir die vierten Elemente geben, egal was passiert, es wird immer das vierte Element sein , denn so kann ich leicht darauf zugreifen, wenn ich diese Anwendung erneut ausführe, würde nicht alle Verschlechterungen drucken. Ja, Sie drucken das erste Raster, das Sie eingeben möchten, dann druckt es den Treffer der vierten Klasse Enter, dann der Zweitklässler Geben Sie dann noch die vierte Klasse ein. Denn anstatt mit der Adresse dynamisch zu sein, schaue ich mir immer die Adresse Nummer drei an. In Ordnung, also funktionieren Arrays wirklich so. Wenn wir also zu Arrays mit variabler Größe wechseln, Nein, sprechen wir von einer Situation, in der Sie möglicherweise nicht unbedingt wissen, wie viele Raster eingegeben werden sollen. Also kann ich tatsächlich auch eine Arterie vor Ort definieren. Beginnen wir damit, ihm einen Standardwert zu geben. Wenn ich also int grids sage, sagen wir, wenn ich weiß, stimmt nur damit wir den Namen ändern können. Also int letzte Gitter in eckiger Klammer, letzten Rastern oder weißt du was? Lassen Sie mich einen anderen Datentyp ausprobieren damit wir eine gewisse Abdeckung haben. Versuchen wir es diesmal mit einer Zeichenfolge. Namen von String-Schülern sind also gleich wissen. Denken Sie daran, wenn ich ein neues String-Array von fünf sage und es in eine Größe sperre. Alles klar? Die Sache dabei ist, dass sie immer eine Größe haben müssen. Sie sind nicht dynamisch. Sie haben andere Sammlungstypen, die dynamisch sind. Button ist nicht so dynamisch. Man muss ihm immer die Größe mitteilen. Obwohl ich eine variable Größe gesagt habe, ist es im wahrsten Sinne nicht wirklich eine variable Größe. Stattdessen würde hier passieren, dass ich eine neue Zeichenfolge RE sehen müsste Ihnen diese definierte Größe nicht geben müsste. Du wirst sehen, dass ich dorthin komme. Die Zeile repräsentiert die meisten von uns Größe oder einen Array-Initialisierer. Also kann ich die Initialisierungsmethode verwenden , die ich hier gezeigt habe. Was nun passiert, ist, dass es seine Größe annimmt basierend darauf, welche Werte die Anzahl der Werte sind, die eingefügt werden. So kann ich einen Test sehen, einen Schüler usw. An dieser Stelle ist Studentennamen ein Array, das nur eine Größe 4123 hat. Es kann also Zeiten geben, in denen Sie ein Array initialisieren und sich die Liste ansehen, aber Sie kennen nicht die Nummer, die Sie sehen müssen. Okay, ich habe fünf hier. Es könnten 20 sein, vielleicht 21, es könnten 70 sein. Um eine Nummer zu schreiben, die Sie nicht berechnen können, indem Sie sich die Liste ansehen. Dann würde sich diese Art von Erklärung tatsächlich als nützlich erweisen. Was dann passieren würde, ist, dass Sie sie einfach so auflisten. Und wenn das Programm ausgeführt wird, würde es das nicht wissen. Okay, ich habe drei sind 72 Räume hier. Ich brauche 72 Speicherplätze im Speicher für meine bereits aufgerufenen Studentennamen. Nein, was die Interaktion mit diesem RE angeht, ist es wirklich das gleiche Prinzip. Es wird der gleiche Druck über die ganze Naht sein. Interagiert beim Einfügen von Werten. Wirklich und wahrlich, ich werde die Wiederholung, diese durchzugehen, nicht aussprechen. Sie haben diese Codebeispiele bereits. Sie können, hier ist eine Übung, in der Sie sich ansehen können, wie Sie die Werte an den Werten für diese RA tatsächlich drucken und wie Sie sie ausdrucken würden. In Ordnung, also hoffe ich, dass du die Herausforderung angenommen hast. Wenn nicht, dann ist es hier. Wenn du es versuchen wolltest und sie innehalten würde, sieh dir nicht an, was ich erklären werde, und probiere es selbst aus. Aber so ziemlich ich hätte das einfach repliziert , um ihn für die Schleife zu sehen. Also hier sagte ich, gib alles ein , was Namen sein sollte. Buchstäblich habe ich kopiert und eingefügt, gib alle Namen ein. Und dann für jeden, tut mir leid, für int ist ich gleich 0. Ich bin weniger als Schülernamen Punktlänge. Und dann gehen wir in den Namen eingeben und dann Studentennamen mit einem Tiefpunkt, dem ich gleich ist, weil dies eine Zeichenfolge ist, ich muss nichts konvertieren. Also kann ich einfach Konsolenpunkt, Lesen, Zeile sagen. die gleiche Weise, wenn ich drucke, habe ich einfach die gleiche Art von For-Loop und ich mache nur eine Konsolen-Lesezeile auf Studentennamen mit einem Tiefpunkt I Also das ist es wirklich für Arrays. Wenn wir wiederkommen, werden wir uns Listen ansehen, was hier in C-Sharp ein dynamischer Listen - oder Sammlungstyp ist . 21. Listen: Alles klar Leute. Also kommen wir von den Diskussionsbereichen aus den Fersen und ich habe gerade gelernt, eine kurze Zusammenfassung zu machen, damit wir auf das zurückblicken können, was sie sind. Meine persönliche Definition eines Arrays ist eine zusammenhängende, homogene Sammlung von Daten. Zusammenhängend bedeutet, dass sie es sind, sie sind Seite an Seite. Sie haben also RESP S1 sind genau wie: Nun, ich schreibe diese Pfeifen nebeneinander in Erinnerung. Alles klar, nebeneinander, ziemlich. Ich gehe einfach so über die Linie. Ihre Daten werden also in einer solchen Kette gespeichert , das ist zusammenhängend. Und dann homogen, was bedeutet, dass Sie nur einen Datentyp Aqua Icon haben können , um ein Array zu haben sowohl Strings als auch Ganzzahlen speichert. Es wird also entweder in sein oder es wird Strings sein usw. Das heißt, was ein Array ist, ist nicht eine der Einschränkungen eines Arrays, dass es immer seine Größe kennen muss. Es ist also schwer, in einer Institution dynamisch zu sein , in der Sie die Größe im Voraus nicht kennen. Weil Sie es entweder mit einem Leerzeichen definieren werden , der groß genug ist, um möglicherweise jedes Szenario abzudecken. Aber dann reservieren Sie 255 Arten im Gedächtnis, wenn Sie möglicherweise nur zehn verwenden. Das ist nicht sehr effizient. Das sind ganze Computer, die Krieg bekommen, kein Zeitabsturz unter starker Last von Programmen aufgrund von Entscheidungen, dass diese, die Alternative wäre, dass Sie die Größe der Front nicht kennen, sondern basierend auf Die Daten, die Sie bereitstellen, können Sie schließen, dass dies immer noch nicht sehr effizient ist , da Sie an alles eingegeben haben müssen von Anfang an alles eingegeben haben müssen, um es dann zu verwenden. Was wir jetzt tun wollen, ist einen Blick auf dynamischen Sammlungstyp, der als Liste bezeichnet wird, und der uns in C-Sharp zur Verfügung steht. Also werde ich rüberspringen, diese neuen Projekte erstellt, neue Konsole hochgehen und diese Listensammlungen aufrufen. Natürlich verwenden wir dotnet sechs und wir erstellen diese neue Konsolen-App. Wenn wir über Listen sprechen, wird die Syntax ungefähr so aussehen. Wir definieren, dass wir auflisten möchten. Und dann sage ich, ich wollte wenigstens abschalten, welcher Datentyp, der Datentyp hier, genau wie beim Array, alles sein kann. Es kann mindestens eine Zeichenfolge sein, es kann eine Liste von Ganzzahlen sein usw. Also lasst uns Strings machen. Und ich nenne das einen Namen. Dann habe ich es auf eine neue Liste von Strings initialisiert. Sie werden sehen , dass wir es mit weitaus komplexeren Typen zu tun haben als nur intensiv, denn Sie sehen, dass wir gleich neues Design sehen müssen , das wenn wir zum Objekt gehen orientierte Übungen, Sie werden anfangen zu erkennen, warum einige der variablen Deklarationen so aussehen müssen , im Gegensatz zu dem, wenn wir nur sehen, dass String dem entspricht. Wir werden ein bisschen komplexer, aber kleine Schritte, aber das ist alles, was wir für eine Liste erklären. Wie ich schon sagte, dies ist wieder eine zusammenhängende homogene Sammlung, außer dass sie nicht wie anfangs an uns fixiert ist. Anstatt also eine Variable namens name zu haben, erstellen wir eine Liste potenzieller Namen. Schauen wir uns an, wie wir unserer Liste Werte hinzufügen. Anstatt Bereiche zu ähneln , in denen Sie den Fixpunkt verwenden mussten, weil ich immer Namen mit dem Indexnamen 0 sagen kann immer Namen mit dem Indexnamen 0 sagen , sollten hier den Wert haben. schaffe ich nicht. Listen ermöglichen es Ihnen, dies zu tun , da der tatsächliche Eintrag zumindest auf dem allgemeinen Konstrukt basiert, das ein IRI ist. Es ist also wie, hier ist ein großes Wort oder eine Erweiterung eines Arrays. Sie sahen also die Grenzen des Gebiets, also haben sie eine Erweiterung vorgenommen. Aber an der Basis können wir immer noch bestimmte Dinge tun , die es Ihnen ermöglichen würden. Aber dann haben sie auch andere Funktionalitäten für Sie erstellt. Sie haben also gesehen, dass Visual Studio mir vorschlug , dass ich sehe, dass Namen einen Namen hinzufügen oder alle Werte hinzufügen, die ich diesen Wert von meinem Namen hinzufügen könnte . Das sind also zwei Möglichkeiten. Wissen Sie, dass der Unterschied zwischen diesen beiden ist ich hier die genaue Adresse kennen muss dass ich hier die genaue Adresse kennen muss, die ich das Namenstool hinzufüge, was ich während der Laufzeit nicht wissen kann , während die Anwendung läuft. Ich weiß nicht, ob 50 Namen schon reingegangen sind, sind nur zehn. Ich weiß es nicht. Wenn ich also versuche, auf eine Adresse zuzugreifen, könnte ich auf das Problem stoßen eine zuzugreifen, die noch nicht existiert , weil sie nur zehn ist und ich versuche, sie in Space 50 zu legen, oder ich setze sie in Space 50 und dann werden leere Leerzeichen zwischen 10501149 leer sein. Wieder einmal nicht effizient. Also möchten wir uns auf das Programm verlassen, die Methode , die uns als dot AD zur Verfügung gestellt wurde. Wir sehen Listenname , nämlich Namen, Namen, Punkt-Add. Und dann geben wir ihm den Wert, werden wissen, dass es ihn in diesen Raum legen sollte , weil dieser Raum der nächste in der Reihe ist. Wenn einer entfernt wird, wird alles automatisch neu bestellt. So können Sie tatsächlich so viele Dinge entfernen und hinzufügen, wie Sie möchten. Ich kann Trevor entfernen. Das tut mir Leid. Ich kann Probleme entfernen oder einfach, indem ich sehe, wie Dr. sich überall hin bewegt oder die Liste der Datumsangaben benutzt , der erste Stern an unserem dritten bleibt, es wird weitergehen und ihn entfernen und dann neu anordnen alles , damit die Adresse 0 bis Länge ist minus eins immer intakt. Listen sind also weitaus dynamischer als Arrays. Wenn Sie versuchen, MTO DSPS in einem Array zu entfernen, machen wir Laufzeit, es funktioniert einfach nicht. Okay? Alles klar, schauen wir uns an, wie wir Werte für dynamischere Körper hinzufügen würden. Also schreibe ich eine kleine Konsole. Und ich sage einfach Namen eingeben. Alles klar? Und dann werde ich hier eher wie eine While-Schleife benutzen. Warum verwende ich eine While-Schleife? Weil ich die Anzahl der Artikel nicht weiß, die ich will. Also kann ich nicht an unserem Schalter vorbeigehen. Wenn ich dieses Programm für eine Schule geschrieben habe, kann jeder Programmierer nicht davon ausgehen, dass die Schule nur 100 Schüler hat. Sie könnten zehn haben und vielleicht tausend haben. Ich kann also keine for-Schleife verwenden , um zu sagen, durchzugehen und dies für das oft zu tun, weil die Länge hier durch die Anzahl der Dinge bestimmt wird, die eingehen . Eine While-Schleife wäre besser, denn dann kann ich eine Bedingung haben, durch die sie diesen Vorgang beenden können. Denken Sie also daran, dass die While-Schleife oder sogar die Do-While-Schleife, sind bedingungsgesteuerte Schleifen, oder? Also kann ich während des Namens sehen, sagen wir Namen, also haben wir String-Namen. Sie können es bereits neu definieren. Wirklich neugierig ob du es gelöscht hast. Und lassen Sie uns den String-Punkt leer anstelle der leeren Zeichenfolge manuell initialisieren . Und dann sagte ich, während der Name nicht gleich dem Wert negativ ist . In Ordnung, also zeige ich Ihnen jetzt, wie wir Programme mit bedingungsgesteuerten Schleifen schreiben . Sie haben immer diese Exit-Bedingung und Sie können dies auf verschiedene Arten schreiben. Man könnte schreiben, dass der Name nicht gleich dem negativen ist. Du musst auch diesen Namen Punkt gleich schreiben. Es gibt einen Gleichheitsfilm Shaun auf einer Zeichenfolge, die sie verwenden können, wenn Sie ihn mit einer anderen Zeichenfolge vergleichen möchten. In Ordnung, ich glaube nicht, dass ich das mit dem String-Vergleich zuvor erwähnt habe . Man könnte also sagen, dass Name dem entspricht, was man wollte, wenn es nicht der Fall ist. Du kannst also sehen, nicht in Ordnung. Sie können sehen, dass es äquivalent zu falsch ist. Oh, es gibt so viele Möglichkeiten, Code noch einmal zu schreiben, zur Hälfte zu erforschen. Alles klar, also ist das eine Möglichkeit, es zu schreiben. Ich zeige dir einfach alle Möglichkeiten, es zu schreiben. Dann kann man auch einfach nicht diese Erklärung sehen , die nicht nur das nicht gleich sagt. Ich sage nur, während dies als falsch ausgewertet wird, während es nicht negativ ist, dann fahre fort. Lassen Sie mich diese später überlassen, um dort ein paar Blues zu codieren, um Ihre Referenz zu erhalten. Ich fahre damit fort. Während der Name Punkt entspricht , stimmt das nicht. Das bedeutet dieses Ausrufezeichen. Dann wollten wir weiter schleifen. Ich habe den Benutzer nach dem Namen gefragt. Ich werde sehen, wie der Konsolenpunkt den Namen eingeben schreibt. Und dann sage ich, dass Name gleich der Lese-Zeile für Konsolenpunkte ist. Also lade ich den Benutzer , um den Namen einzugeben. Und dann sehe ich den Namen, Punkte, Entschuldigung, Namen, die nicht in der Lage sind, Punkte hinzuzufügen. Da sind wir los. Und wir fügen den eingegebenen Namen hinzu, der natürlich eine Zeichenfolge ist. Also kann ich diesen Namen einfach hinzufügen, da es sich um eine Zeichenfolge handelt. Das heißt, wisse, dass es eine mögliche Null ist. Das heißt, wenn die Person nichts eingegeben hat, möchten Sie wirklich eine leere Zeichenfolge eingeben oder etwas in den Bereich der Namen sind eher die Liste der Namen. Also hier werde ich eine if-Aussage abgeben. Wissen Sie also, dass dies als unser Programm komplexer wird als unser Programm komplexer wir unseren Horizont erweitern, beginnen wir zu untersuchen, wie wir eine if-Aussage in eine While-Schleife einfügen if-Aussage in eine und wie es uns geht mit dieser Liste interagieren. Dies nennen wir Verschachtelung, wenn Sie eine konstante Kontrollstruktur in einer anderen haben eine konstante Kontrollstruktur in , wenn die Anweisung statt einer Weile eine Verschachtelung ist. In Ordnung, ich kann sehen, ob eine Zeichenfolge null oder ein leerer Name ist. Also lasst uns das machen. Wenn es nicht null oder leer ist, schauen Sie sich diesen Knoten an und er ist nicht gleich dem negativen. Schön und komplex dies, wenn die Aussage gekommen ist, dann können wir sie hinzufügen. Lass uns von oben gehen. Während unser Name nicht dem negativen entspricht, was nicht daran liegt , dass wir ihn in eine leere Zeichenfolge initialisiert haben. Also ist es leer. Und das heißt, diese Vorprüfung wird bestehen, weil sie aufgrund der Art und Weise, wie wir geschrieben oder programmiert haben, nicht negativ sein wird, bevor sie hier eintrifft . Dann sage ich, gib den Namen ein und akzeptiere die Eingabe des Benutzers. Dann nur, wenn die Eingabe des Benutzers nicht null oder leer ist und die Eingabe des Benutzers nicht gleich negativer ist. Dieses Mal sollten wir es hinzufügen. Das heißt, wenn es leer ist, wird es diesen wenn block nicht ausführen, es wird unter dieser Bedingung fehlschlagen und dann wird es zurückkommen und überprüfen. Aber dann ist das immer noch nicht negativ, also wird es wieder in den Loop-Lauf kommen. Wenn ich negativ eingebe, wird diese Überprüfung fehlschlagen , weil es jetzt negativ ist, also wird es immer noch nicht eintreten, zurückkommen und dann wird es beendet. Ordnung, so würden wir eine While-Schleife verwenden , um den Benutzer nach Namen zu fragen , bis sie fertig sind. Denn wenn ich fertig bin, kann ich negativ einsetzen. Das nennen wir also die Exit-Kriterien. Und es ist normalerweise ein obskurer Wert relativ zu dem Kontext, den der Benutzer niemals standardmäßig eingeben würde, ich meine, wer eine Reihe von Namen eingibt, Eingaben in negative. Also lasst uns das ausprobieren. Das sind also Listensammlungen. Fangen wir an. Okay, also hier werden wir aufgefordert, den Namen einzugeben. Also gehe ich in Trope ein oder bin zum Test gegangen. Ich bin gegangen, um Matthew zu betreten. Ich bin gegangen, um John zu betreten. All diese Werte. Beachten Sie, dass es einfach weitergeht. Ich tippe einfach weiter und drücke die Eingabetaste. Es heilt noch nicht. Es akzeptiert nur die Werte. Und wenn ich dann persönlich eine negative , dann wenn es ausgeht, ist das die Seele. Nein, Sie könnten tatsächlich Werte eingeben, um den Benutzer zufrieden zu stellen. Wenn Sie möchten, können Sie hier eine weitere kleine Aufforderung eintragen, um zu erfahren, wann der Wert eingegeben wurde und wann er nicht eingegeben wurde. Denn wenn es eingegeben wird und man sehen könnte , dass der Name eingefügt wurde. Also kann ich diese Zeichenfolge nicht einfach interpolieren. Dann sehen Sie einfach, dass der Namenswert erfolgreich eingefügt wurde. Hinzugefügt, erfolgreich. Mal sehen, habe ich hinzugefügt. Alles klar. Dann würde der Benutzer ein Feedback bekommen. Ja, du hast diesen Namen eingegeben, er wurde erfolgreich hinzugefügt. Oder vielmehr würdest du das sagen, nachdem es tatsächlich hinzugefügt wurde. Es wurde erfolgreich hinzugefügt. So füllen wir unsere Liste mit Werten. Wie drucken wir unsere Werte aus dieser Liste? Drucken Sie also Werte in der Liste. Nun, wir haben wieder ein paar Möglichkeiten. Wir könnten die Zeit wiederverwenden. Ich denke, es braucht viel Koordination, um die Zeit zu nutzen. Also überspringe ich das While-Beispiel, aber wir haben bereits eine Möglichkeit es in Form der for-Schleife zu tun. Es. Denken Sie also daran, dass Listen auf dem Konstrukt einer RA basieren. Ich könnte eigentlich einfach eine For-Schleife schreiben, die von 0 auf die Länge unserer Liste reicht . Die Liste heißt also Namen und ich kann Namen, Gedanken, Kegel sehen. Dieser hat keine Länge, aber er hat Kegel. Cones erhält die Anzahl der Elemente. Wenn Sie das direkt von Visual Studio aus sehen, wird die Anzahl der in der Liste enthaltenen Elemente abgerufen. Okay, wie ich schon sagte, manchmal wird das, was Sie wollen, nicht unbedingt präsentiert oder Sie übersehen es vielleicht. Manchmal scrolle ich auf einige, ich eliminiere eine Eigenschaft oder eine Methode sieht so aus, wie ich will. Visual Studio hat in jüngerer Zeit die am häufigsten verwendeten Methoden und Eigenschaften gespielt , und Sie werden sie oben sehen. Obwohl es alphabetisch geordnet ist, würden Sie bestimmte oben sehen. So wie Kegel an der Spitze stehen, weil ich denke, Leute normalerweise die Anzahl der Dinge in unserer Liste wissen wollen . Dot colon t, also verstehst du es. Es ist für dich da, ich erhöhe seine Punktlänge mit Listen. Es ist der Gedanke, dass Kegel diesen Effekt scheinen. Wir gehen von 0 auf den Kegel zu Minus eins. Dann könnte ich einfach Konsolenpunkt sagen, schreiben, drucken , jeden Namen namens Listenbytes nennen, und ihm dann den Tiefpunkt von I geben, wird diese Liste tatsächlich für so viele Elemente durchlaufen wie wir sind betreten. Denn denken Sie daran, Open wusste es nicht, wir wissen immer noch nicht, wie viele Artikel zu erwarten sind. Das ist das erste , dass du es schaffen kannst. Das würde also drucken. Lassen Sie mich einfach Konsolenpunkt-Schreiben, Zeilendruck machen. Lass mich meine Verschüttungsrechte kriegen. Namen über FOR-Schleife drucken. Das ist es, was dieser erste tut. Der Grund, warum ich for-loop angebe, ist, dass Sie auch eine andere Art von Schleife verwenden können und eine, die speziell für diese Art von Situation entwickelt wurde, die tatsächlich eine ehrenvolle Erwähnung erhalten hat als wir es waren schaute mir Wiederholungsaussagen an, aber ich habe mich nicht darauf eingelassen, weil die Zeit nicht gekommen war. Und das ist die für jede Schleife. Jetzt wissen wir, wie man sich oder nirgends sehen kann, wie die for-each-Schleife, oder? Also sage ich „Konsole“. Ich dupliziere diese Folie einfach hier. Und das wäre eine foreach-Schleife. Jetzt beginnen Sie für jede Schleife mit der Eingabe für jeden und drücken dann zweimal die Tabulatortaste und es generiert diesen Stub für Sie. Also für jeden, und du wirst sehen, dass es var sieht. Wir schauen uns an, was var später ist. Was ich hier stark eingegeben werde und String sage, weil es sich um hier stark eingegeben werde und String sage, weil es eine String-Sammlung handelt. String. Dann sehen wir Artikel. Was ist die Sammlung? Wir müssen die Sammlung beim Namen nennen, die Sammlung hier ist er wenigstens vorbei, nämlich Namen. Im Grunde heißt es für jeden Eintrag in dieser Sammlung, für jedes Element in der Namensammlung es für jedes Element in der Namensammlung eine spezifischere Dichte für jeden Namen in der Namensammlung sein könnte , aber das kann ich nicht tun weil ich bereits eine Variable namens name habe, würde dies zu Verwirrung führen. Das ist in Ordnung. Ich lasse es einfach als Gegenstand. Mein Punkt ist, dass dies jede Anzahl von Gegenständen in dieser Sammlung durchlaufen wird, ob es 110105 Tausend ist, wird jede einzelne durchlaufen. Bewahren Sie es hier für die Laufzeit der Schleife auf. Und jedes Mal, wenn es läuft, bekommt es das neue. Sie können mit dem neuen machen, was Sie wollen. Wie ich schon sagte, wir wollten sie drucken. Ich sage nur Konsolenpunkt, schreibe Zeile. Und alles was ich tun werde, ist Artikel zu drucken. Alles klar, das ist alles , was es wirklich macht. Das ist eine for-each-Schleife. Die für jede Schleife ist perfekt. Ich muss mir keine Sorgen um die Kegel machen. Ich muss mir keine Sorgen um ein Ausstiegskriterium machen. Alles, was ich tun muss, ist für jede Variable in dieser Sammlung zu sagen , alles zu tun, was Sie tun müssen. Nett und einfach. Alles klar, also schauen wir uns an, was das bringen wird. Ich habe hier ein paar Namen eingegeben, also sehen wir, dass der Knoten ********* erfolgreich hinzugefügt wurde. Gekauft Ich habe einen Konsolenpunkt anstelle von R Console rechts geschrieben. Deshalb druckt es das alles aus, aber ich denke, das würden wir inzwischen wissen. Das werde ich also nicht betonen. Ich gebe nur ein paar Namen ein. Nachdem ich all diese Namen eingegeben habe, wenn ich negativ drücke, werden Sie sehen, dass er durch die for-Schleife gegangen ist, gedruckt. Und dann ging es durch die for-each-Schleife und druckte es sofort aus. Auf mich. Die foreach-Schleife ist einfach viel einfacher zu formulieren , da sie etwas weniger Koordination benötigt. Es gibt jedoch Situationen, in denen Sie keine for-Schleife mit der Liste benötigen, aber der Kontext bestimmt Ihre Ausführung meistens es ist gut, die Tools zu kennen , die Sie in der Hand haben. Aber wer wann zu verwenden ist, wird normalerweise von Ihren Bedürfnissen im Moment bestimmt. Das war's von mir zum Thema Listen. Ich möchte, dass Sie experimentieren, Listen mit anderen Datentypen wie Arrays mit anderen Datentypen ausprobieren und andere Programme schreiben, um Werte zu akzeptieren. Versuchen Sie, ein Programm zu schreiben, das mehrere Arrays akzeptiert. Oder wenigstens könntest du Namen, Studentennamen und die Raster haben. Und dann schreibst du eine Schleife, um beides zu betreten, und dann druckst du sie alle zurück, wirst kreativ und erforscht. 22. Einführung in Kurs-und Objekte: Hey Leute, In dieser Lektion werden wir anfangen, objektorientierte Programmierung zu diskutieren. Nein, ich habe vorher gesagt, dass C-Sharp eine objektorientierte Programmiersprachen ist . Und es gibt ein paar von ihnen da draußen. Java ist sehr beliebt. Python, Rubin, C plus, plus. All diese sind auch objektorientiert in Programmiersprachen. Der Unterschied zwischen objektorientierten Programmiersprachen und anderen Programmiersprachen wird also objektorientierten Programmiersprachen und darin bestehen, dass objektorientierte Programmiersprachen es uns ermöglichen unsere eigenen Datentypen zu erstellen. Und das tun wir durch die Definition dessen, was wir eine Klasse nennen werden. Lassen Sie uns zunächst ein neues Projekt erstellen und wir nennen dieses eine Klassen und Objekte. Also mach weiter und klicke Pause, erstellte das Projekt. Und wir können uns ansehen, was die Klasse ist. Wir haben mit Klassen interagiert, um zu wissen, dass Console eine Klasse ist. Und ich hätte darauf hingewiesen, dass basierend auf der Farbcodierung sehen würden, Sie basierend auf der Farbcodierung sehen würden, dass es Klassen gibt, oder? Console ist also eine Klasse. Als wir wenigstens Kollektionen angeschaut haben. Wir haben uns auch eine Klasse angeschaut, und diese Klasse heißt Liste. Und ich hätte Ihnen gezeigt, dass sich die Deklaration für diese Art von Objekt geringfügig von einer unterscheidet. Wir fügen unseren unregelmäßigen Datentyp hinzu. Wir würden einfach sagen, dass Datentyp gleich was auch immer ist. List ist eigentlich ein sehr spezifischer Datentyp , der erstellt wurde. Das ist keiner der, was wir als primitive Datentypen bezeichnen. Primitive Datentypen wären das, was wir benutzt hätten, als wir angefangen haben. Du nimmst String nicht, char, bool. Alle diese sind primitiv. Beachten Sie, dass sie alle die gleiche Farbe haben. Präventiv, weil sie so einfach sind, wie Datentypen es bekommen können. Aber sie liefern nicht unbedingt alles, was wir wollen. Um also bestimmte Beats von Entzündungen zu erfassen, wie wenn wir das Programm machen mussten, um all diese Datenbits zu erhalten, mussten wir 12345 Variablen haben um Daten über eine Person zu sammeln. Wir müssen das vollständige Namensalter haben. Aber was ist, wenn ich eine Repräsentation einer Person wollte? Hier kommt das Erstellen eines eigenen Datentyps ins Spiel. Objekt oder in die Programmierung hat also mit dem Erstellen eigener Datentypen zu tun. Sie sind ein Datentyp, da Sie ihn erstellen, können Sie bestimmen, welche Eigenschaften es sich handelt welche Methoden beteiligt sein können. Wir machen das durch die Definition dessen was wir eine Klasse nennen werden. Eine Klasse ist eine Blaupause dessen, was das Objekt sein wird. Das Objekt ist die Manifestation der Klasse. Denken Sie also darüber nach wie bei einem Gastgeber. Wenn Sie ein Haus bauen möchten , müssen Sie es zu Papier bringen, Sie müssen skizzieren, wir beobachten das Ziel, wie groß jeder Raum sein sollte, wenn alles in einer visuellen Darstellung gemacht wird, eine 2D-Darstellung, das ist die Blaupause. Wenn Sie jedoch den Host erstellen, ist dies die Manifestation des Set-Blueprints. Und wenn Sie dann mehrere Löcher haben , die aus dieser Blaupause aufgebaut sind, haben Sie mehrere Manifestationen. Wenn wir das also in OOP tun würden, wäre die Zeichnung der Blaupausen unsere Klasse, das ist der Umriss. Und dann ist jeder Host ein Objekt der Klasse. Um eine Klasse zu definieren, scheinen wir die Schlüsselwortklasse zu verwenden, dann geben wir ihr einen Namen. Wenn ich also eine Person verwende, die nicht der Name der Klasse ist , öffne und schließe ich. Mein Brief besagt, dass meine geschweiften Klammern bei der Definition der Klasse wissen , dass wir ihr Eigenschaften geben müssen. Sie sehen also, wie Visual Studios hier einen Vorschlag machen. Ich mache es manuell, damit ich erklären kann , was jeder Teil bedeutet. Eigenschaften beziehen sich auf das, sagen wir die Knowns, das Objekt. Im Fall einer Person ist das, was auf der Datenperson unbekannt ist, ist unbekannt, also ist das Eigentum einer Person. Der Name ist Eigentum der Person direkt dort. Sprechen Sie alle Informationen über ein Boot, eine Person in diesem Zusammenhang oder ein Boot oder was auch immer die Klasse ist, jede Information ist in der Tat Eigentum. Um die Eigenschaft zuerst abzurufen, geben Sie ihr einen Zugriffsmodifikator. Du hast also andere. Du hast eine Öffentlichkeit. Das bedeutet, dass 170 keine Person tippen kann, ich kann auf ihr zugreifen, was auch immer öffentlich ist. Dann muss ich ihm einen Datentyp geben. Also public string, und dann etwas, das öffentlich zugänglich ist, ist die meisten Personen ihr Name. In Wirklichkeit ist der Name also ein sehr guter Vorschlag. Ich weiß, was das ist. Wahrscheinlich öffentlich zugänglich über eine Person wäre jeder da , weil jede eher wie ein int wäre. Und dann würde ich sagen Alter. Und beachte, dass es diese geschweifte Klammer aufsetzt und dann Semikolon bekommt und dann Semikolon bekommt, dann setz dich, hol Semikolon, dann Semikolon und schließe dann geschweifte Klammer. So nennen Sie Accessors. Diese ermöglichen es Ihnen, den hier beteiligten Wert zu erhalten. Und dieser ermöglicht es Ihnen, den hier gespeicherten Wert zu setzen. also get to unset sehe, bedeutet das, dass wenn ich mit einer Person interagiere , die ich neige, ihren Namen zu bekommen oder zu sitzen, wie ihr Name ist, wie ihr Name ist, setz dich, wie ihr Name ist. Okay, also Klasse, gib ihm einen Namen. Mir ist aufgefallen, als ich hier einen Unterricht sah , der eine Stufe annimmt, die ich geschrieben habe. Null hat die gleiche Farbe wie Konsole und Liste und alle anderen, weil ich nur meinen Datentyp erstelle. Dieser komplexe Datentyp verwendet primitive Datentypen im Inneren. Eine Person hat einen Namen, hat Alter, könnte andere Eigenschaften haben. Bevor ich vorankomme, werde ich die Salze spalten. Im Allgemeinen möchten Sie also nicht nur den Namen speichern, Sie wollten den Vornamen speichern und LastName speichern. Beachten Sie auch, dass die Namenskonvention, ich verwende keine gewöhnlichen Buchstaben, wenn ich den gemeinsamen Buchstaben verwende, es funktioniert. Es wird kein Problem geben. Aber wenn ich hierher gehe und Punkt Visual Studio kontrolliere vorschlägt, dass ich bisher einen Großbuchstaben in einer Klasse verwende , wird vorgeschlagen, dass Sie den Großbuchstaben verwenden, das ist nur ein Standard. Es ist nicht das funktioniert nur. Bits sind eins. Wir sind bei. Der Ellenbogen ist nur ein Standard und ich weise immer alte Standards und Best Practices auf Sie hin. Öffentlich ist der Accessor , der es mir ermöglicht , auf alles über diese Person zuzugreifen, den Vornamen, den Nachnamen und das Alter. Nun noch eine Sache, die ich in den Vordergrund rücken wollte, bevor wir überhaupt anfingen, Objekte zu betrachten. Ich zeige dir immer Best Practices. Sie möchten nicht unbedingt Ihre Klasse innerhalb einer anderen Klasse definieren lassen. Jede Klasse sollte also wirklich in einer eigenen Datei für Kontexte sein . Und ich werde einfach alles hier im Solution Explorer zusammenbrechen . Sie können das einfach tun, indem Sie diese Schaltfläche verwenden, alles zusammenklappen, es wird einfach alles zusammengeklappt. Und dann kann ich diese Datei ansprechen. Öffnen Sie diese Datei, die sich hier befindet, indem Sie auf diese Synchronisierung mit aktivem Dokument klicken. Einige weitere Tastenkombinationen, Visual Studio-Tipps und Tricks kommen direkt an Sie. Hier ist unsere program.cs Datei, die funktioniert, und dies ist eine Datei program.cs. Dies bedeutet, dass es sich um eine Klassendatei , die dem Programm gewidmet ist. Ich möchte meine eigene Klasse, mein eigener Datentyp definiert. Ich möchte nicht unbedingt, dass das innerhalb des Programms definiert wird. Es gibt einen anderen Grundsatz , an den wir uns als einheitliches, einheitliches Verantwortungsprinzip bezeichnen . Dieser Grundsatz bedeutet im Grunde, dass jede Einheit, soweit praktisch, nur eine Verantwortung tragen lässt soweit praktisch, . Unsere Datei program.cs sollte nicht die Verantwortung tragen, unsere Klasse zu definieren. Ich möchte dies in eine eigene Klasse bringen und dank Visual Studio wäre es einfach, dies zu tun , während Sie einfach mit der rechten Maustaste auf Neues Element hinzufügen klicken könnten . Dann könnte man sagen, du willst eine neue Klassendatei und er könnte ihr den Namen geben. Also habe ich mich wie eine Person gesehen. Und dann wird dieser gesamte Codeblock generiert , der Ihnen den Namespace zeigt. Denken Sie also daran, dass der Namespace der Name des Ordners ist. In Ordnung, also diskutiert unser Projekt ein Objekt, also das ist unser Namespace. Und dann generiert es diesen Methodenstub mit einem anderen Zugriffsmodifikator namens intern public bedeutet, dass jeder darauf zugreifen kann, aber intern bedeutet, dass nur andere Dateien anstelle desselben Projekts möglich sind greife darauf zu. In Ordnung? Also könnte ich das leicht machen und dann habe ich hier meine Klassendefinition. Nein, ich habe diese Klasse in völlig anderen Dateien definiert. Wenn ich also wissen wollte, wo meine Person kreuzt, muss ich sie finden. Wenn mein Programm tausend Codezeilen hätte, müsste ich nicht alle durchkämmen, um die Personenklasse zu finden, weil ich einfach eine Person finden kann . New ECS. Und diese Akte hat die einzige Verantwortung befassen, was mit der Personenklasse zu tun hat. Alles klar. Nein, ich Tastenkombination, um das zu tun, wäre der Kontrollpunkt gewesen. Und dann würde es dich tatsächlich fragen, willst du Typ zu Person Dot CSS verschieben? Also würde es tatsächlich vorschlagen, dass hey, ich kann einfach den ganzen Code in eine neue Datei für dich verschieben. Wenn ich diese neue Klasse nicht erstellt habe, lass mich sie einfach löschen, um es dir zu zeigen. Ich kann einfach Punkte steuern und dann Typ zu Person Punkt cs verschieben. Dann würde es eigentlich einfach ein Ausschneiden und Einfügen für mich machen und diese neue Dateiformel erstellen. Und da sind wir los. Ich zeige dir nur die verschiedenen Möglichkeiten, wie du das kannst. Wieder einmal öffentlich. Wer hat eine Öffentlichkeit, die in der Klasse sein kann. Sie haben intern. Das bedeutet, dass es für die Welt nicht öffentlich ist, aber es ist öffentlich für alles innerhalb desselben Projekts. Dann haben Sie privat, was bedeutet, dass Sie verschiedene Sondergenehmigungen benötigen , um darauf zuzugreifen. Und selbst das Visual Studio-Dienstprogramm, Sie können hier nichts Privates haben und alles andere ist öffentlich. Sie sehen also im Allgemeinen keine Privatunterricht, Sie sehen normalerweise öffentliche und interne. Also habe ich diesen als öffentlich verlassen. Und dann sind alle diese Immobilien auch öffentlich. Jetzt, wo ich eine Klasse habe, die codeweise definiert habe, interagiere mit ihr in meinem Hauptprogramm. Nehmen wir an, dass ich ein Programm schreiben wollte , das es mir ermöglicht, die Informationen für eine Person auszufüllen. Ich erinnere mich, dass die Person einfach das Objekt und die Eigenschaften dieses Objekts darstellen könnte , das Sie wollen. Wenn es eine Box wäre, könnte es Länge, Breite und Höhe sein. Wenn eine Person, die Student sein sollte, könnte es Vorname, Nachname, Alter und Gier sein. Denken Sie daran, dass der ganze Kopf die Mühe hat ein Array für Klassen in einem Array für Namen zu erstellen. Wir könnten alles innerhalb eines großen Datentyps tun , der als persönlich bezeichnet wird oder was auch immer es ist. Wieder einmal ist es nur eine Blaupause. Um die Manifestation eines gesetzten Blueprints zu erhalten, müssten wir das tun, was wir als Objektdeklaration bezeichnen. Jetzt werde ich anfangen, Objekt anstelle von Variable plus Variable zu sehen , neigt dazu, sich auf die Manifestation des primitiven Datentyps zu beziehen. Um einen komplizierteren Datentyp zu erhalten , würde der Name des Datentyps , der Person ist, den Namen des Objekts genannt , den ich dieser Person sagen kann. Beachten Sie, dass ich einen mit dem Kapital P und eins mit einer gemeinsamen Erbse nennen kann . Und das liegt wirklich daran, dass ich denke, dass es nirgends sehr stark getippt ist und die Groß- und Kleinschreibung beachtet, also beschwichtigen sich der Kopf völlig von gewöhnlichen P. Dann werde ich sagen, dass es also beschwichtigen sich der Kopf völlig von gewöhnlichen P. Dann werde ich gleich einem neuen ist Instanz der Klasse. Wenn das vertraut aussieht, dann gut. Das bedeutet, dass Sie aufpassen, wenn wir unsere Liste, Liste, welche Namen einer neuen Liste entsprechen und Klammer öffnen und schließen. Wann immer Sie es mit einer Klasse zu tun haben , die deklariert werden muss wird es so aussehen. Person. Und dann entspricht der Name des Objekts einer neuen Instanz dieses Objekts. Ratet mal was? Es kann auch mehrere Instanzen dieses Objekts haben. Sie können also Person eins haben, Person zwei. Weil die Realität ist, dass Sie mehrere Personen auf der Welt haben . Was wir alle gemeinsam haben, jedoch die definierten Eigenschaften, jede Person hat einen FirstName, LastName, und jeder, wenn nicht, stehe ich korrigiert. Dies ist die allgemeine Blaupause und dann sind dies alles Manifestationen. Offset-Blueprint. Wisse, eine Kurzform, dies in C-Sharp zu schreiben, acht aufwärts oder 900 Wörter wäre, einfach neu zu sagen. Sie müssen also keine Person schreiben , die einer neuen Person gleich ist, Sie können einfach sagen, dass die Person gleichwertig und dann neu ist . Das ist ein netter Scharf und wir lassen uns mit einer Person für null arbeiten, lassen Sie uns eine Anwendung schreiben, die die Informationen über diese Person akzeptiert. Und dann wird es wieder auf den Bildschirm gedruckt , dass dies zerstreut ist. Information ist, dass ich Konsolenpunkt schreiben Zeile sehen kann , enter, firstName. Das sind also Dinge , die wir getan haben. Wir wissen, wie man nach dem FirstName auffordert. Was wir vorher nicht wussten, ist alles in einem Objekt zu speichern alles in einem Objekt zu speichern , damit ich eine Person sehen kann. Notice Person ist das Objekt , das wir definiert haben. Ich sehe eine Person Punkte. Und wenn ich Daten sage, habe ich Zugriff auf eine Reihe von Methoden und Eigenschaften. Woher kenne ich Methoden, die sich von Eigenschaften unterscheiden? erste Hinweis ist, dass die Methoden in der Intelligenz diesen Würfel haben werden. Dann werden die Eigenschaften diesen Bereich haben. Unsere Eigenschaft stellt also eine dieser Variablen dar, die ich hier definiert hätte. Methode würde darstellen, was wir bereits Methoden angeschaut haben. Also können wir tatsächlich Methoden machen, das machen wir in ein paar. Nur wenn wir Laktose haben, gibt es einige Standardmethoden, die wir wie zwei Strings erhalten würden . Also habe ich vorher gesagt, dass jedes einzelne Objekt in C-Sharp tun kannString was nicht immer praktisch ist. Es hat das Gleiche, bekommt Typ. Es hat eine Reihe integrierter Methoden. Ich fange mit den einfachen an, die Eigenschaften sind, von denen ich weiß, dass ich interagieren muss. Also Person Punkte zuerst und die Bedeutung, wenn Sie dieses gesamte Objekt erstellen, das eine Sammlung dieser drei Variablen ist, wollte ich den Vornamen so einstellen , dass der Wert von der Konsole kommt Konsolenpunkt lesen Zeile. Es, das ist die Nummer eins. Dann möchte ich den Nachnamen eingeben , wird das gleiche Prinzip sein. Der Nachname der Person Punkt ist also gleich, um den Wert von der Konsole zu erhalten. Dann wollte ich den Vorteil kriegen. Also geh ein. Dann sagen wir Person.New Edge, und dann ist Alter eine ganze Zahl. Wenn Sie also sagen, dass wir konvertieren müssen, dann haben Sie absolut Recht. Wir müssen also sehen, dass Punkte in int 32 konvertiert werden. Lassen Sie mich meine Rechtschreibrechte auf int 32. Und dann packen wir das in Klammern ein. Und da sind wir los. Nein, ich fülle die Informationen für diese Person ein. Das ist mit freundlicher Genehmigung von „Entschuldigung“, am Set. Das Set erlaubt mir das zu tun. Wenn ich nicht gesehen habe, dass ich am Rand sitzen kann, kann ich nur das Alter kriegen. Dann bekomme ich einen Fehler, wenn ich versucht habe, diese Zuweisung auszuführen, weil jetzt gesagt wird, dass es keine gibt, siehe es ist schreibgeschützt. Ich kann keinen Wert für diese Eigenschaft festlegen. In Ordnung, deshalb bekomme ich zehn Sätze, die wichtig sind , wenn Kontextualität wichtig ist. Vielleicht möchten Sie also nicht unbedingt, dass jemand im Alter sitzt. Natürlich gebe ich dir noch einmal das Konzept. Die Implementierung ist relativ zu Ihrer Situation. Vorname, Nachname, Alter. Und wir können jeden direkt in die Eigenschaften eingeben , wie sie von unserem Objekt des Typs persönlich bereitgestellt werden. Sehen wir uns nun eine andere Immobilie an wie vielleicht das Gehalt. Die meisten Menschen halten ihre Gehälter privat. Das ist nicht etwas , das du mir googeln und ganz einfach finden könntest. In diesem Zusammenhang würden Sie nicht unbedingt ein öffentliches Gehalt sehen. Sie würden privat sehen, den Datentyp doppelt und Gehalt. Und im Allgemeinen, wenn Sie einen privaten machen, nennen wir das ein Feld. Dies wären also Immobilien, wenn sie öffentlich sind. Wenn sie privat sind, nennt man sie im Allgemeinen Felder, nur einen Jargon, damit Sie den Unterschied erkennen können. Im Allgemeinen würden Sie bei den Feldern tatsächlich einen Unterstrich verwenden , um zu bezeichnen, dass dies privat sein soll. Wenn Sie also nur den Code von jemandem durchsehen und die allgemeine Richtlinie unterstreichen würden, wäre dies das allgemeine Thema hinter diesem Unterstrich vor dem Namen wäre, dass es ein Feld ist, es ist privat. Wenn Sie einen Großbuchstaben verwenden, bedeutet dies, dass er öffentlich ist. Das ist also genau das kleine Ding , auf das Sie achten können. Wieder einmal eine weitere gute Praxis zu haben. Wenn ich versuchte, mit allem zu interagieren, was privat ist, wie hier drüben, wenn ich Person Dot Gehalt sagte, merke, dass privat ist, wie hier drüben, wenn ich Person Dot Gehalt sagte, merke, es nicht einmal in der Intelligenz kommt , weil C-Sharp sagt das ist privat, also soll ich dir das nicht mal zeigen. Wenn ich versucht habe, darauf zuzugreifen, wenn ich versuche, damit zu unterbrechen, wird es sagen, Junge, es ist aufgrund seines Schutzniveaus unzugänglich. Ich kann dir nicht helfen. Es ist privat. Man kann nicht einfach so damit interagieren. Das ist also eine andere Sache, auf die Sie achten können, wenn es um private und öffentliche Einstellungen für Ihre Feld-Schrägstrich-Eigenschaften geht private und öffentliche Einstellungen achten können, wenn es um private und öffentliche Einstellungen für Ihre Feld-Schrägstrich-Eigenschaften geht. Wenn er in unsere privaten Bereiche kommt , beginnen wir dann über beide Methoden zu sprechen , die erforderlich wären, um mit ihnen zu interagieren. Eine Methode würde eher wie ein Verb darstellen. Also habe ich gesagt, dass Eigenschaften wie bekannt sein werden. Dies sind Dinge, die sich auf dem Objekt befinden. Was nicht, was kann das Objekt tun? Eine Person kann laufen, eine Person kann rennen, solche Sachen, ein Auto kann fahren. Das sind Dinge, die du tun kannst. Das sind Methoden. Jedes Mal, wenn Sie über etwas nachdenken, das machbar ist, müsste dies wahrscheinlich als Methode im Gegensatz zu unserem Eigentum definiert werden . Sagen wir zum Beispiel, wir wollten in der Lage sein, ein unfestgelegtes Gehalt zu erhalten. Das sind Methoden, die du bekommst, ist Verb, Einstellung ist ein Verb. Wir haben es als Privat. Wir bräuchten Methoden, die uns helfen, damit zu interagieren. Was ich hier tun würde, ist eine Methode zu definieren. Wir haben uns bereits angeschaut, wie wir Methoden definieren. Was haben wir wahrscheinlich nicht gemacht, war Zugriffsmodifikatoren auf die Methode zu setzen , oder? Wenn ich also das Gehalt festlege, bedeutet das, dass ich nichts zurückgeben muss. Ich würde so etwas wie eine void-Methode wollen. Ich will es nicht Set Sellerie nennen. Sellerie. Ihre Aufgabe ist es, dem privaten Feld einen Wert zu geben. Sagen wir, ich setze es auf 100 ein. Sobald diese Methode aufgerufen wird, erhält das Gehalt den Wert von 100. Wie rufe ich diesen Wert ab? Nun, ich kann noch eins machen, während die Öffentlichkeit Gehalt bekommt. Und dieses Mal werde ich es schaffen, dass Wert zurückkehrt, weil ich abrufen möchte, was das Gehalt ist, dann muss ich nur das Gehalt zurückgeben. Alles klar. Sieh es dir an, kein privates Feld. Und dann haben wir Methoden, um mit dem privaten Bereich zu interagieren. Wir haben einen, um seinen Wert festzulegen. Ich muss nichts tun. Ich muss nach dem Einstellen des Wertes nichts zurückgeben, also werde ich es einfach vermeiden. Aber nicht hier, ich werde es sitzen. Entschuldigung. Ich werde es abrufen. Wenn ich es also abrufe, bedeutet das, dass es zurückgeben muss. Und wenn es es vor dem Test ins Camp zurückbringt, um der Datentyp von allem zu sein, was ich zurückkehre, was ein Double ist. Okay, ich zeige dir nur, wie alles miteinander verbunden ist. Da es sich also um zwei öffentliche Methoden handelt, kann ich leicht Person Punkt sagen und dann die aufgeführten Nullgesetzte Gehalte ansehen. Dort werden auch Gehälter aufgeführt. Sie sind eine Öffentlichkeit, also sind sie sichtbar. Und zweitens sind es Methoden. Beachten Sie den Würfel. Okay, ich habe beschrieben, dass der Würfel repräsentiert , dass es ein Mythos ist. Mal sehen, ob ich das Gehalt hier nenne. Dann wollte ich nachträglich ausdrucken , wie hoch das Gehalt ist. Ich werde nur sehen, dass das Gehalt ist. Und dann mache ich einfach Interpolation und schaue mir dann die zweite Person an , Dot Get Gehalt. Für uns wird kein Gehalt abrufen, was das Gehalt ist , und das wird in der Konsolenpunkt-Schreibzeile gedruckt. Alles klar, also was wir tun können, ist das Salz zu testen. Bevor ich es teste, sagte ich, dass ich einige andere Zeilen erstellen werde . Also habe ich einen Vornamen, Nachnamen und Alter gesehen. Und was wir tun werden, ist die Eigenschaften zu drucken. Also Person Punkt Vorname, Person, Gedanke, Nachname, Person dachte Alter. Und dann sind das Eigenschaften. Und dann ist dies eine Methode, aber alle von ihnen sind mit derselben Person verwandt , weil wir die Informationen für eine Person eingeben. Also werde ich mein Startprojekt ändern , das Objekte verursacht. Und dann werden wir das für einen schnellen Dreh machen . Wenn das Programm in den Vornamen ausgeführt wird, verwende ich meinen eigenen Namen, Nachnamen, Alter, sagen wir, ich war 45 Jahre alt. Also wird niemand alles über diese Person zurückdrucken . Vorname, Nachname ist Susie, alles wird auf dem Gehalt gespeichert, wurde freundlicher Genehmigung unserer Methode auf 100 festgelegt. Aber das ist nicht die Realität, weil wir den Wert hart codieren, oder? Mein Gehalt ist also nicht Ihre Zentren. Wenn sie Sie also als Person mit Ihrem Namen eingeben, müssen sie Ihr Gehalt eingeben. Was ich tun kann, es ist einfach, dass man eine lokale Variable erstellt , die ich hier im Hauptprogramm als Gehalt bezeichnen werde . Dann akzeptiere ich Eingaben von der Konsole. Wenn ich dieses niedrige Kostengehalt bekomme, ist das das Gehalt , das ich den SETT, das Gehalt der Person, verwenden möchte . Wir haben uns die Verwendung von Parametern in unseren Methoden angeschaut. Ich werde die eingestellte Gehaltsmethode ändern. Und schon gab es Presse F12. Wenn er also zu einer Methode springen wollte, möchten Sie zu dieser Methode navigieren, einfach darauf klicken, F 12 auf der Tastatur drücken und es springt zur Definition über. Das ist also eine weitere Tastenkombination für Sie. Von hier aus kann ich sagen, dass das gesetzte Gehalt einen Parameter akzeptiert, der als Gehalt bezeichnet wird. Und wir verwenden diesen Wert, der hereinkommt, um das private Feld zu setzen. In Ordnung, das heißt also nein, wenn ich gesetztes Gehalt anrufe, ist es als Pfeil bekannt, weil es einen Wert erwartet, damit ich ihm das Gehalt geben kann , das als Benutzereingabe akzeptiert wurde. Also Benutzereingaben, Gehalt, wir nennen eine Person punktgesetztes Gehalt, steigen über den Wert auf, der gerade eingegangen ist. Dann innerhalb dieser Methode wurde dieser Wert verwendet, um die privaten Felder festzulegen. Wann immer wir also nach dem Gehalt gefragt haben , erhalten wir zurück was vom Benutzer akzeptiert wurde. Das ist voll, Sie müssten mit privaten Feldern interagieren. Eine andere Sache, die ich dir zeigen werde ist vielleicht den vollständigen Namen zu bekommen. Geht Netzhaut wo FirstName bekommt, das Letzte. Was ist, wenn ich FirstName, LastName nicht drucken wollte? Was wäre, wenn ich sehen wollte, dass dein vollständiger Name lautet , dein Alter ist und dein Gehalt stimmt. So kann ich leicht eine andere Methode einsetzen. Es liegt an mir, also kann ich eine Wertezurückgabemethode vom Typ String eingeben, die besagt vollständigen Namen erhalten, den vollständigen Namen erhalten. Dies benötigt keine Parameter, da es mit Eigenschaften interagiert, die sich bereits innerhalb der Klasse befinden. Also kann ich es einfach sagen, dass es eine verkettete Version zurückgibt , die wir sehen werden. Ich interpoliere eine Zeichenfolge mit FirstName und LastName. Okay, also Vorname und Nachname, und das ist einfacher, vollständiger Name, und das ist es, was ich möchte, dass du zurückgibst. Jedes Mal, wenn jemand anruft, bekommt er den vollständigen Namen, sollte er zurückkehren. Das. Ein Stringblock mit dem Vor- und Nachnamen enthalten. Wissen Sie, anstatt FirstName und LastName ist zu sagen, kann ich in diese Zeilen kommen. Dann erstelle ich einfach einen, um zu sehen, dass vollständige Name den vollständigen Namen erhält. Sieh dir die Person an, die keinen Foo-Namen bekommt. Alter ist, dass ich Ihnen in diesem Punkt eine Herausforderung für das Alter stellen werde , was ist, wenn Sie wissen wollten, was das Jahr für Person geboren wurde, anstatt nur die einzelnen. Du kannst das Alter nehmen. Und dann können Sie eine Methode erstellen, die besagt, dass Sie zum Geburtsjahr kommen und das Geburtsjahr zurückgeben und wieder auf den Bildschirm drucken lassen . Wenn wir über Klassen, Objekte und Verkapselung sprechen , habe ich gesehen, dass ich erklären würde, was Verkapselung ist. Aggregation. Erstens ist die Klasse die Blaupause. Aus dieser Perspektive weiß jeder, der sich das ansieht, nicht viel über Person. Sie sehen eine Person nur , wenn sie mit dem Objekt des Typs Person interagieren. Sie können mit bestimmten Dingen interagieren. Sie verstehen nicht unbedingt, wie es funktioniert. Das nennen wir Verkapselung weil das Innenleben der Gehälter tatsächlich festgelegt wurde und tatsächlich zurückgerufen wird. Sie wissen nicht, dass andere sehen, ein Gehalt bekommen. Haben sie es einfach gemacht, wollte ich lohnen. Ich rufe einfach den Himmel an. Erhält Gehalt. Wenn ich den vollständigen Namen haben wollte, rufe ich einfach den vollständigen Namen holen an. Sie kennen nicht die Hardware , die hier tatsächlich passiert. Wie schwer oder davon ausgegangen ist, dass es der Fall ist, die Person, die mit dem Objekt interagiert, weiß es nicht. Im Blueprint definieren Sie die gesamte Funktionalität, aber die tatsächliche Verwendung sollte für die Person, die sie benutzt, so einfach wie möglich sein . Und weiter dazu würde niemand über Aggregation sprechen. bedeutet, dass wir innerhalb dieser einen komplexen Klasse eine Reihe von Eigenschaften und Operationen zusammengefasst haben , die sie ausführen können. Aus dieser Perspektive in ein paar Codezeilen so viel erreichen, können sie in ein paar Codezeilen so viel erreichen, ohne zu wissen wie viele Codezeilen in unseren zusammengefasst wären , um es wieder gut zu machen. Lassen Sie uns damit einen weiteren Test durchlaufen, damit wir sehen können , ob wir wieder den vollständigen Namen und das Gehalt erhalten. Ich bin für VOR Williams Alter von 58 Jahren eingetreten. Und wenn ich dann die Eingabetaste drücke, denke ich, dass es nach dem Subtileren fragt, den ich nicht in die Anfälligkeit für das Gehalt aufgenommen habe. Also lass mich dich in zweitausend setzen. Und dann ist Node, der Ihren vollständigen Namen sieht vollständiger Name, der uns durch diese Zeichenfolge gegeben wird. Und hier sehe ich zwei Räume. Okay, also könnten wir uns das ansehen. Ich glaube, ich habe einen Platz hinter einem von ihnen gestellt. Deshalb bekommen wir den vollständigen Namen. Wir kommen bis zum Alter und wir kriegen Geld. Das ist der Gehaltswert, den wir über Inputs übernommen haben. Das ist also eine schnelle Einführung in die objektorientierte Programmierung. Wieder einmal macht die Übung dauerhaft. Machen Sie also etwas Übung indem Sie versuchen herauszufinden, wie Sie das Geburtsjahr der Person basierend auf dem bereitgestellten Alter berechnen würden das Geburtsjahr der Person basierend auf dem bereitgestellten Alter berechnen . 23. Überlagerung von Methoden:: Hey Leute, willkommen zurück. Wir setzen unsere Reise mit objektorientierter Programmierung fort. Und ich wollte nur ein schnelles Konzept nennen , das Methodenüberladen genannt wird. Was bisher bei unseren Interaktionen mit den Kosten bemerkt hätte bisher bei unseren Interaktionen mit , war, noch bevor wir mit der Erstellung unserer eigenen begonnen haben, dass wir tatsächlich verschiedene Variationen derselben Methode schreiben oder darauf zugreifen konnten . Dieser Blick auf die Konsolenklasse. Konsole. Dot schreibe Zeile. Keine Punkt-Schreibzeile hat 17 Überladungen. Eine Überlastung bedeutet also , dass Sie verschiedene Möglichkeiten zum College haben. Man könnte es einfach leer nennen, was Nullparameter bedeutet. Sie würden es mit dem bull-Parameter mit einem char-Parameter aufrufen . Und ich denke, ich würde durchblättern und dir alle Möglichkeiten zeigen. Dies ist tatsächlich eine Methodenüberladung genau hier passiert, weil es dieselbe Methode mit demselben Namen würde ihn den Typ zurückgeben. Es wird etwas anders funktionieren, basierend auf dem Wert , der hier übergeben wird, unabhängig davon, ob es sich um anders funktionieren, basierend auf dem Wert , der hier übergeben wird, unabhängig davon, eine Zeichenfolge oder ein ganzes Diagramm handelt, usw. Erneut Kapselung. Du weißt nicht, die richtige Linie funktioniert. Sie kennen nur seine innere Klasse und es ist eine Methode, die Sie aufrufen, und Sie geben ihr einen Wert und Sie erwarten, dass etwas auf dem Bildschirm ausgegeben wird. Sie wissen nicht, was Sie tun sollen, um die Indianer zu konvertieren, oder die Zeichenfolge oder das W hier in die Zeichenfolge sind, um sie mit unregelmäßigem Stream zu testen. Und all diese Dinge, oder? Du weißt es nicht. Am Ende der Methode kann das Überladen sehr wichtig sein, wenn Sie Ihren Benutzern Opsins geben möchten, die gleiche Art von Operation oder verschiedene Optionen mit demselben Methodennamen durchzuführen die gleiche Art von Operation oder . Jemand, der das einfach hält, aber es ist einfach genug Konzept, dass man sich an einem Beispiel leicht durchsetzen kann , oder? Mal sehen, wir bekommen hier den vollständigen Namen der Person. Ich wollte es überlasten, um möglicherweise auch ihren zweiten Vornamen zu bekommen. Also möchte ich eine Option , bei der ich den zweiten Vornamen eingeben und den vollständigen Namen mit dem zweiten Vornamen erhalten kann. Es gibt keine persönliche Immobilie für den zweiten Vornamen. Also mache ich das von Grund auf neu, oder? Nehmen wir an, ich habe eine String-Variable, ich rufe den zweiten Namen auf. Ich werde es initialisieren den String Dot mt. Ich werde auffordern. Früher habe ich die Aufforderung nach dem Gehalt nicht hinzugefügt. Ich bin nur südlich. Holen Sie sich meine Ausgaben genau da los. Geben Sie das Gehalt ein. Dann frage ich nach dem zweiten Vornamen. Also sagte ich, Konsole gib den zweiten Vornamen ein. Und dann Breite für die zweiten Vornameneingaben von unserer Konsole, Punkt-Readline. Sobald dieser zweite Vorname angegeben ist, möchte ich, wenn er vorhanden ist, wenn er vorhanden ist, den persönlichen vollständigen Namen mit dem mitgelieferten zweiten Vornamen erhalten . Ansonsten gib mir einfach den regulären vollständigen Namen. Ich benutze eine if-Aussage und ich habe eine schnelle Entscheidung getroffen. Du hast so etwas gesehen. Wenn der String-Punkt nicht null oder leer ist. Wenn also kein zweiter Vorname vorhanden ist, bedeutet, dass der Benutzer nichts für diese Eingabe eingegeben hat. Dann drucke ich den regulären vollständigen Namen aus. Sonst. Ich hätte gerne eine Option, bei der ich Ihnen den vollständigen zweiten Vornamen geben kann und der im vollständigen Namen enthalten ist, der gedruckt wird . Beachten Sie nun, dass dieser keine Parameter annimmt. So haben wir es definiert. Bei diesem übergebe ich den Parameter und es gibt mir einen Fehler. Warum? Weil es sagt, dass keine Überlastung für diese Methode ein Argument benötigt , das besagt, dass ich sehe, dass Sie diese Methode aufrufen, aber ich kann keine übereinstimmende Methodendefinition finden , die irgendeine annehmen sollte überhaupt Parameter. Es liegt also an mir nein, in die Klasse zu gehen und sicherzustellen, dass sie existiert. Also kann ich einfach zur Person gehen, einfach darauf klicken und F 12 drücken. Und dann kann ich eine andere Methode erstellen , mit der ich einen öffentlichen String erstellen kann, ihm denselben Namen geben und den vollständigen Namen bekommen kann. Aber dieses Mal wird ein String-Parameter namens zweiter Name verwendet. Siehst du das? Das hier, nein, ich kann die gleiche Art von String zurückgeben. Aber ich werde das Mittelohr in die Mitte dieser Saite aufnehmen , oder? Benutzer wird also nie wissen , ob der Unterschied so kompliziert oder so einfach war Dieser Benutzer wird also nie wissen , ob der Unterschied so kompliziert oder so einfach war. Sie wissen nur, dass sie die Möglichkeit haben , den vollständigen Namen zu erhalten. Und sie haben die Möglichkeit, den vollständigen Namen mit einem zweiten Vornamen zu erhalten . Wisse, dass ich diese beiden Versionen praktisch der gleichen Methode habe. Sagen Sie Methode wegen des Namens. Wenn ich hier zurückblicke, ist dieser Fehler verschwunden. In Ordnung, also sobald ich einen zweiten Vornamen angegeben habe und einen Scheck gemacht habe, um zu sehen, welche Option sollte ich sie anrufen? Soll ich hier person.New SetFullName anrufen oder sollte ich den mit dem zweiten Vornamen anrufen? Zweiter Vorname Gefängnisse. Alles klar. Lassen Sie uns das schnell testen. Holen Sie sich den Vornamen, den Nachnamen, holen Sie sich das Alter, holen Sie sich das Gehalt und dann den zweiten Vornamen. Wenn ich nichts hinstelle, beachte, dass es alle meinen FirstName und LastName druckt. Versuchen wir es noch einmal. Ich werde es nochmal laufen lassen und dann dasselbe sehen. Alter, Gehalt. Dann habe ich einen eindeutigen zweiten Vornamen. Es ist ein Grieche, es bedeutet Reservoir, es bedeutet Brot des Lebens. Eigentlich. Es tut mir leid. Es ist Griechisch, es bedeutet Brot des Lebens. Und als ich in den Inputs vorgestellt habe, dann bekomme ich diese Option für VOR, unsere Zehen Williams, richtig? Wenn Sie sichergehen möchten, machen wir eine kleine Debugging-Sitzung. Jemand, der unsere Haltepunkte auf beide legt, nur um sicherzustellen, dass er den Einkaufswagen anruft, wenn wir es erwarten. Dies ist ein anderer Weg. Wenn Sie es irgendwo gemacht haben und die erwartete Ausgabe erhalten haben, können Sie Ihre Haltepunkte verwenden. Also für immer Williams oder einfach nur verkürzt, um das schnell durchzustehen, kein zweiter Vorname. Drücken Sie die Eingabetaste und OTC angerufen, erhalten Sie den vollständigen Namen mit dem ganzen zweiten Vornamen, weil ich keinen zweiten Vornamen angegeben habe, ich drücke einfach die Eingabetaste, damit es nicht leer war. Und es nennt diese Methode nicht den Bruchpunkt heizen. Zu diesem Zeitpunkt gilt FirstName für den Nachnamen Will. Wenn ich den Mauszeiger über den zweiten Vornamen fahre, ist nichts da. Es wird mir gar nichts zeigen , weil es einfach nichts gibt. Es war nicht sitzen. Richtig. Also, wenn ich F5 drücke, um es mit der Ausführung fortzufahren , und drücke Enter in der Konsole nach F3 oben. Dann wirst du sehen Es ist Nein, ich drucke wie erwartet aus. Und dann genauso. Wenn ich den Testbenutzer Sellerie und dann einen zweiten Vornamen einlege, dann wird es diesen treffen , wo er diesen zweiten Vornamen übergibt. Dies ist ein sehr einfaches Beispiel für das Überladen von Methoden. Wie ich schon sagte, es ist etwas , das wir von Anfang an mit console.log Feuchtgebiet und einigen anderen Methoden gemacht Anfang an mit console.log haben. So können Sie es in Ihrer eigenen Klasse implementieren. 24. Statische Kurse und Statische Class: Alles klar Leute, also machen wir weiter und wir werden uns eine andere Kategorie von Klassen ansehen . Und dieser heißt statisch. Statisches Gas ist eines, das nicht instanziiert werden kann. Wenn wir also über Instanziierung sprechen, bedeutet das, wenn wir ein Objekt einer Klasse erstellen. Okay, lass mich, ich hätte das früher machen sollen, also lass mich dir einfach zeigen, gib dir einen Code oder eine Referenz, die du halten musst. Es könnte auch gemacht werden. Alles klar, was sagst du „ neu“ oder du sagst neue Person? Und später werden wir uns ein anderes Keyword ansehen , das wir verwenden können, das einen Datentyp verdeckt hat. Konzentrieren wir uns jedoch auf statische Klassen damit wir keine neue Instanz der Klasse instanziieren können. Also haben wir unsere eigene Klasse instanziiert. Wir müssen die Liste instanziieren und wir hätten die RAs in gewissem Maße instanziieren müssen , wenn wir Arrays oder sogar die Totzeit gemacht haben , damit dies alles Klassen sind. Datetime ist gleich new datetime. mussten wir früher machen. Eine statische Klasse wäre eher wie eine Konsole. Alles klar? Konsole gibt uns also eher gute statische Methoden. Das bedeutet, dass wir nicht sehen müssen, dass die Konsole ein Objekt erstellt , das einer neuen Konsoleninstanz entspricht , um dann auf die rechte Linie zuzugreifen. Weil ich auf keinen Fall eine Person mit einem Kapital P B im Klassentyp Punkt sagen könnte . Das gibt mir nichts. Es erlaubt mir nicht, auf eine der Eigenschaften zuzugreifen , ohne sie zu instanziieren, was das Objekt oder die Manifestation des Blueprints erzeugt . Und dann kann ich durch den Blueprint durch die Manifestation auf eher oder das Objekt durch die Manifestation auf eher oder das Objekt auf die Eigenschaften und Methoden zugreifen. Wir werden uns also ansehen, eine statische Klasse zu erstellen und wie es sich als nützlich erweisen könnte. Statische Klasse wird normalerweise als Utility-Klasse verwendet, daher erstelle ich eine neue Klassendatei. Also rufe ich einfach unser Klassen- und Objektprojekt direkt rufe ich einfach unser Klassen- und Objektprojekt auf, um Neues Element hinzufügen zu gehen. Und tatsächlich können Sie feststellen, dass Sie hier kurze Zitate haben, die nur Klasse sagen, gewährt, es ist fast dasselbe. Er wird das gleiche Dialogfenster aufrufen und sich automatisch auf den Unterricht für Sie konzentrieren. Sagen wir, ich nenne das Util Klassendatum util. Datums-Utils. Es gibt keinen Tag bis bis. Es wird Ihnen die neue Datei geben, wird mir alle using-Anweisungen geben. Und wieder einmal ist dies eine traditionelle C-Sharp-Datei. In dotnet sechs über haben wir Zugriff auf minimale Dateien, in denen wir nicht den Namespace und all diese geschweiften Klammern und alle using-Anweisungen haben . Im Voraus. Sie können diese immer bereinigen, indem Strg-Taste gedrückt halten und die Taste als E. drücken. Damit wird alles entfernt , was nicht benötigt wird, aus Ihren Dateien. Wir brauchen also nicht alle diese mit Anweisungen Control Key. Manchmal wollte man nur Datei erstellen, um Ihnen zu zeigen, was Sie sehen müssen . Die ganze Philosophie von sechs ist fast vorbei ****** mit sogar diesen Codeblöcken, wo der Namespace, den ich entfernen kann diese geschweiften Klammern und setzen Sie einfach ein Semikolon. C-Sharp Six weiß automatisch , dass dies der Namespace ist , der die gesamte Datei regelt. Also brauche ich nicht all diese Brisen. Wisse, dass wir uns mehr mit dem alten PM beschäftigen und dir kleine Dinge über den Halt zeigen , den der Akkord angelegt ist und wie du damit interagieren kannst. Man könnte das tatsächlich in C-Sharp-Zinn tun, zugegeben, so wie es war, bevor es perfekt funktionierte. Ich meine, Visual Studio hat es dir gegeben also muss es funktionieren, dass wir auch , in Ordnung, konzentrieren wir uns auf unsere Klasse, interne Klasse, und wir nennen es D22. Wissen Sie was, wenn ich berechnen wollte , ich wollte eine Methode zur Berechnung der Schulden basierend auf dem Jahreswert. Diese Utility-Klasse wird eine Reihe von Methoden haben , die einfach Dinge für mich tun. So öffentlich. Jahr der Geburt. Und dann soll dieses Jahr der Geburtsklasse leider eine öffentliche Öffentlichkeit ins Geburtsjahr zurückbringen . Nehmen wir jeweils eine ganze Zahl, ein Jahr oder eine ganze Zahl. Fangen wir damit an. In Ordnung, also möchte ich angesichts des Alters zurückkehren, wie hoch ist Ihr Geburtsjahr? Bei dieser Methode werde ich einige Berechnungen durchführen. Ich werde einfach die Zeit zurückgeben. Datum, Uhrzeit Punkt nein, Jahr minus h so einfach das ist. So bekommt datetime dot weiß den aktuellen Zeitstempel, hol mir das Jahr. Runter im Zeitstempel und dann minus das Alter davon und gib das zurück. So können Sie Ihr Geburtsjahr auf einfache Weise kennenlernen. Zumindest nette Projektion, oder? Versuchen wir es mit einem anderen. Was ist, wenn ich dafür eine Überlastung wollte? Das hat mir erlaubt, auch ein Geburtsjahr zurückzugeben. Also werde ich ihm immer noch den gleichen Namen überladen geben. Aber dieses Mal möchte ich dein Geburtsdatum nehmen. Geburtsdatum ist die Eigenschaft, ist der Parameter, den ich möchte. Was ich dann sagen kann ist, wenn okay, lass mich sehen, was Visual Studio für mich hat. Wenn das Geburtsdatum, das Sie mir gegeben haben, null entspricht, Sie 0 oder Tilapia zurück. Andernfalls geben Sie das schwierige Jahr, Zeit, das Nein, das Jahr abzüglich des Geburtsjahres zurück. Oh mein Gott. Das ist schön, aber das ist nicht wirklich das, was ich will. Ich will mehr. Ich wollte dir das Jahr nur Geld geben , weil ich das Geburtsjahr gesagt habe. Wenn du mir also den Zeitpunkt der Geburt gibst , kehre ich einfach zurück. In welchem Geburtsjahr stimmt dein Geburtsjahr? Ich zeige Ihnen jedoch nur, dass dies Methoden sind Methoden sind, bei denen die Schwerpunkte nicht wirklich die Methoden sind. Ich mache nur eine Reihe von Methoden in dieser Util-Klasse, weil ich Ihnen nur zeige, dass Studienkurse im Allgemeinen wie Util-Kurse sind, oder? Dieser würde also Ihr Alter anhand eines Geburtsdatums bestimmen . Und dann kehre ich einfach zum ursprünglichen Vorschlag zurück. Wir sind Totzeit nein. Jahr abzüglich des Geburtsdatums, Jahr, das Sie angegeben haben. Utility-Klassen wissen unter normalen Umständen, um mit diesen Methoden zu interagieren, Hilfsmethoden, tut mir leid, mit ihnen zu interagieren. Wenn ich sie anstelle meiner program.cs verwenden wollte, müsste ich hierher kommen und Datetime D2 sagen bis ein neues Objekt von Date-Utils erstellt wird. Beachten Sie also, dass es mir sagt , dass es nicht gefunden werden konnte. Dies liegt daran, dass der Namespace über der Datei definiert wurde und keine andere Klasse in diesem bestimmten Projekt diesen Namespace hat. Der Namespace ist im Grunde eine Deklaration zu den Dateien außerhalb der Adresse. Wenn diese Adresse nicht enthalten ist, verwenden Sie sie. Einfache Lösung, ich entferne einfach den Namespace. Es ist nicht unbedingt notwendig, zumindest nicht in C-Sharp Mieter versucht es zu wissen, dass es entfernt wurde. Ich habe Zugang. Wissen Sie, ob ich etwas ausrechnen musste, muss ich Object Dot sagen. Dann könnte ich auf all diese Methoden zugreifen. Dementsprechend. Geburtsjahr im Vergleich zum Alter gegenüber dem anderen Geburtsjahr war überlastet. Entschuldigung. Ich erinnere mich nur daran, dass es überlastet war, also wisse, dass es überlastet ist. In der Intelligenz gehen wir hier zu C plus eine Überlastung. Sie können mir also die DateTime, Geburtsdatum oder geben Sie mir einfach das Alter der Person an. In Ordnung? Nein, statische Das macht die Notwendigkeit dieser Instanziierung überflüssig. Um diese Statik zu erfüllen, schreiben Sie Schritt Nummer eins das Wort statisch im Abschnitt Zugriffsmodifikator. Wenn die Klasse statisch ist, muss alles, was in der Klasse ist, auf diese Weise abgestimmt werden. Die Klasse ist statisch, dann müssen die Methoden auch diesen Zugriffsmodifikator tragen, damit die gesamte Compiler-Sache, das gesamte Programm, wissen lässt , dass sie statisch sind. Sie können jedoch statische Methoden innerhalb unserer regulären Klasse haben . Okay, lass uns sehen, wissen, wie die Interaktion aussehen würde wenn ich herausfinden wollte, okay, Notice verkauft, seit sie statisch gemacht hat, das ist nicht illegal. Ich kann nicht instanziieren. Statischer Typ. Eine Variable des statischen Typs kann nicht deklariert werden. Das kann ich nicht mehr machen. Stattdessen muss ich diesen Kurs anrufen. Bis dahin sage ich einfach Punkte. Habe ich nicht, ich kann auf keine Methode zugreifen , die in diesem Kleid ist. Viel lokale Konsole funktioniert , wo einfach console.log sagen. Und dann greife ich auf die Methode zu, die ich einfach drucken könnte. Das Alter ist das. Und dann sagen wir ein Geburtsjahr. Und dann sage ich einfach D22 Punkte, Dots, Geburtsjahr. Und was übergebe ich dann? Ich spreche nicht über Geburtsdaten null, aber was ich bei meinen Überlastungen habe . Ich habe einen Vorteil, damit ich dir das Alter geben kann. Okay. Also kann ich Person.New Age sagen. Das Alter einer Person muss nur das Geburtsjahr haben. Das ist es im Grunde. Wie ich schon sagte, es wird normalerweise für Dienstprogramme verwendet. Bei schnellen Operationen handelt es sich also um Operationen, die Sie möglicherweise mehrmals wiederholen. Sie können einfach eine statische Klasse erstellen die Methode, diese Operation, manchmal ist es so einfach wie ich Strings verbinde. Es könnte das Trimmen von Strings sein. Es könnte zwischen Datetime und Ganzzahlen konvertiert werden , solche Sachen. Es könnte eine Matheklasse sein, in der man die Wurzel und die Quadratwurzel des Zeugs finden möchte . erstellst du einfach eine Klasse. In Ordnung. Lassen Sie uns das testen und sehen, wie gut es funktioniert. Okay, also fülle ich den Sozialkrieg. Williams, 5070 Jahre alt in Sellerie zweiter Vorname. Das brauchen wir nicht. Und dann wirst du hier sehen voller Name ist das Alter ist das Geburtsjahr 1965. Es dauerte also dieses Alter, hat die Berechnung wie definiert und diesen Wert zurückgegeben. Das ist es im Grunde. So würden Sie eine statische Klasse in einer sehr praktischen Situation verwenden . Und während Ihrer Reise mit C-Sharp und objektorientierter Programmierung werden Sie auf viele statische Klassen stoßen . Es ist also gut zu verstehen, wie sie gebaut werden, wie sie allgemein verwendet werden und wann sie nicht auch verwendet werden. 25. Inheritance Vererbung mit Kursräumen und Interfaces: Alles klar Leute, willkommen zurück. In dieser Lektion werden wir über Erbschaft sprechen. Wir betrachten also immer noch objektorientierte Programmierung. Unsichere Konzepte sind zumindest Schlüsselkonzepte, um Sie das Schreiben einer Basisanwendung vorzubereiten. Und für den zweiten Teil dieses Kurses, in dem sich alles auf objektorientierte Programmierung konzentriert . Wo wir über die Vererbung diskutierten indem wir ein brandneues Projekt, ein neues Projekt und C-Sharp darüber trösten, wo wir dieses eine Vererbung nennen. Vererbung. Erbschaft hat also genau damit zu tun, was Ihnen das Wort als Mensch nahelegt , wenn er über Erbschaft spricht, es bedeutet, etwas von einer anderen Quelle zu erhalten. Einige Personen sind aufgrund ihres Erbes extrem reich, was sie von ihrem Vorgänger erhalten haben . Vererbung hat damit zu tun , Eigenschaften mit jemand anderem scheren und meine Sachen mit jemand anderem zu scheren. In Bezug auf die objektorientierte Programmierung in diesem Konzept bedeutet dies, dass wir bestimmte Dinge nicht unbedingt über Typen hinweg wiederholen müssen bestimmte Dinge nicht unbedingt über Typen hinweg wiederholen , die gemeinsame Attribute aufweisen. Also genug reden, lass mich dir ein paar praktische Beispiele zeigen. Jemand, der eine neue Klasse erstellt, oder zumindest jemand , der die Klassen hier schreibt , und dann verschieben wir sie in ihre alte Datei. Nehmen wir an, wir haben eine Klasse, die wir als 3D-Form bezeichnen können. Startet also diese Wolkenform, oder? Eine Form. In unserer Definition von Form werden wir mindestens Höhe und Breite haben. Sagen wir, wir haben eine Immobilie. Eine Tastenkombination zum Schreiben unserer Eigenschaft besteht also darin, dass Sie Requisite schreiben und dann zweimal die Tabulatortaste drücken können Requisite schreiben und dann zweimal die Tabulatortaste drücken , um diesen Stub für Sie zu erzeugen. Wir können natürlich eine doppelte Höhe mit einem Kapital H haben. Dann können wir am Ende des Ausfüllens die Eingabetaste drücken. Und dann gehe zur nächsten Zeile und sag Propaganda-Tab, Tab und dann doppelt. Dann drücken Sie die Tabulatortaste, um vom W2, dem Eigenschaftsnamen, zu wechseln , und setzen Sie diesen ein. Nennen wir das also eine Länge. Dann drücke Enter und das war's, oder? In der Regel hat die Form mindestens die Höhe und Länge. Nein, Sie haben Variationen der Form, weil Dreiecke wahrscheinlich Ihre Größe und Länge in ihnen haben würden, das nennen wir sozusagen Hypotenuse, oder? Cube Quader hätte Höhe, hätte Länge, und er hätte auch Breite? Oder hätten wir ein sogenanntes übergewichtiges Gras der Basisklasse vom Typ Form. Sie haben einen Zugriffsmodifikator namens Obstruct. Dies bedeutet, dass ich es nicht kann, tut mir leid, dies muss vor der Wortklasse kommen. Abstrakte Klassenform bedeutet , dass es ja eine Klasse ist. Ja, es existiert, aber Sie können es nicht instanziieren. Denken Sie also daran, genau wie bei der Statik können wir keine neue Form der Schafe sehen. können wir nicht machen. Das ist illegal weil Abstract das nicht kann. Am Ende dieser Operation, wenn wir unsere Shape-Klasse definiert haben, gehe ich zu Control Dots und verschiebe sie in eine eigene Datei. Verschieben Sie also den rasierten Punkt csv seine eigene Datei. Also sind wir geformte Punkt-Cs. Noah möchte andere Klassen , die Eigenschaften einer Form teilen , damit ich einfach eine andere Klasse, eine öffentliche Klasse, erstellen kann , und ich nenne diesen einen Cube. Um zu erben, muss ich nur einen Doppelpunkt sehen und ihm dann den Klassennamen geben, von dem er erbt , indem Cube-Doppelpunkt der öffentlichen Klasse sehe. Es erbt von Form. Dies beschwert sich nun wegen der Inkonsistenzen mit den Modifikatoren für den Zugriff auf Barrierefreiheit. Das ist also öffentlich, während Shape nicht öffentlich ist. Wenn ich also die Öffentlichkeit hier entferne , sollte es in Ordnung sein. Da sind wir los. Wenn ich beide öffentlich mache, sollte es in Ordnung sein. Klassenwürfel, Dickdarm-Form. Dann kann ich hier meine eigenen Eigenschaften definieren. Also der Würfel oder ein, wir haben schon hoch, um schon Länge zu haben. Also hier gebe ich ihm einfach eine Breite. Wissen Sie, was ich nicht brauche und definieren Sie bestimmte Eigenschaften. Also, selbst wenn ich versucht hätte, C doppelte Höhe zu definieren. C-sharp wird es grün unterstreichen. Und lassen Sie mich das gut wissen, dass Sie bereits eine Punkthöhe geformt haben. Indem Sie also die Höhe hier definieren, überschreiben Sie die ursprüngliche. überflüssig bist, wiederholst du dich. muss ich nicht tun. Wenn ich Q instanziieren sollte, sagen wir mal, ich sage Cube. Cube ist gleich Nu Cube. Das kann ich immer. Lassen Sie mich das in eine eigene Akte verschieben. Steuern Sie also Punkte und bewegen Sie sich dann zu Cube Dot CS. Ja, ich möchte es verschieben. Da sind wir los. Jetzt habe ich also eine Instanz von Cube. Ich sehe Würfelpunkte. Ich kann Zugriff auf Werkzeuglängen erhalten, was mit freundlicher Genehmigung von der Form abläuft. Ich kann nicht giftig werden. Es ist die Breite, die ich gerade definiert habe, und sie kann Zugriff auf die Höhe erhalten, die derzeit auch sieht, wie Form, das heißt, was Vererbung erlaubt. Es ermöglicht mir, eine Quelle gemeinsamer Eigenschaften zu definieren und diese Quelle dann an mehreren Stellen wiederzuverwenden . In. Der Grund, warum ich diese Zusammenfassung gemacht habe, ist, dass ich nicht weiß , wie die Form ist. Selbst wenn ich sagen würde, dass Schafe der neuen Form gleich sind, was ist der Schiffstyp? Ist der Kreis? Ist es ein Würfel? Crc kann eine abstrakte Art von Schafen nicht instanziieren. Es ist abstrakt. Das Konzept einer Form ist also in der Tat abstrakt, weshalb C-Sharp uns dieses abstrakte Schlüsselwort gibt. Was ist eine Form? Die eigentliche Manifestation eines Schiffes ist also eine, die wir quantifizieren können , wie Würfel, Quader, Rechteck usw. So viele andere Typen, wie ich mir vorstellen kann. Nehmen wir an, ich habe darüber nachgedacht, auch ein ruhiges Klassendreieck einzubeziehen. Das ist auch ein Schaf. Und ich wollte von Form erben. In Ordnung, weil sie gemeinsame Eigenschaften haben, wird unsere Klasse namens Dreieck nur ihre eigene einzigartige Eigenschaft haben , die vielleicht Hypotenuse genannt wird. Ich kann hier vielleicht mit meiner Geometrie nachlassen, aber arbeite einfach mit mir zusammen. Dreieck erbt also auch von Schafen. Das sind zwei weniger Stellen, die man setzen muss, Höhe und Länge. Alles klar? So kann ich das Dreieck immer in seinen eigenen Typ setzen. wir also wieder einmal eine Dreiecksmenge modifizieren wollten, Wenn wir also wieder einmal eine Dreiecksmenge modifizieren wollten, um zu finanzieren, wenn wir eine Form ändern wollten , wissen Sie, wo Sie sie finden können. Wenn du Cube modifizieren willst, finden wir ihn nicht. Und das gemeine Programm ist da. Sie würden feststellen, dass es hier ein Symbol gibt, weil ich Vererbung verwende . Dies wird als Vererbungsmarge bezeichnet und ermöglicht es mir tatsächlich, zwischen der Basisklasse zu springen , die Klassen erbt. Wenn ich also die Basisklasse modifiziere und dann von der Basisklasse aus zu einem dieser Quaderdreiecke zurückkehren muss . Ich kann immer einfach auf den Sprung zum Würfel klicken. Und es ist eine nette, einfache Möglichkeit, zwischen Klassen zu navigieren , die von einem anderen erben. Wenn Sie möchten, können Sie alte rote Linien und rote Linien der Konsole schreiben alte rote Linien und rote Linien der Konsole und den Würfel füllen und dann einige Berechnungen durchführen, oder? Aber das bringt dann einen weiteren interessanten Punkt hervor. Wenn er zu uns kommt und Berechnungen macht. Wir müssten wissen, wie wir den Bereich oder das Volumen oder was auch immer basierend auf den verschiedenen Formen definieren das Volumen oder was auch immer können. Gestalten? Ja, es könnte eine Methode haben , die als getArea definiert wird. Klar. Öffentliche Doppel-Empfang-Bereich. Im Allgemeinen benötigen Sie für den Bereich nur die Länge mal die Breite. Wenn es ein Dreieck ist, ist es halb Basismal Höhe. Und nehmen wir an, dass die Länge hier die Höhe der Basiszeiten ist . Sie werden also sehen, dass jede Form ihre eigene Art haben wird, den Bereich zu erreichen. Es ist also nicht ganz einfach zu sagen, oh, ich werde einen abstrakten Verlust haben und einen haben, es bekommt Gebietsmethode. Das wird funktionieren. Natürlich könnten Sie einfach definieren, dass die Zeitrechnung innerhalb jeder dieser abgeleiteten Klassen ist. Wir nennen diese abgeleiteten Gase also was auch immer erbt. Er heißt die abgeleitete Klasse. Was auch immer geerbt wird, wird als Basisklasse bezeichnet. Dies sind also die beiden Schlüsselwörter, die sie Ihre Konversation anwenden können. Ich kann immer sehen, dass das öffentliche Double den Bereich für das Dreieck bekommt. Und ich kann immer den öffentlichen Doppelbeutbereich für den Würfel sehen. Aber wenn ich dann zu einem anderen gehe, Mal sehen, ich bringe eine andere Klasse an. Lass mich einfach, lass es mich so machen. Lassen Sie mich konsequent sein. Sagen wir also, ich habe Klassenrechteck. Das ist eine andere Form , mit der wir interagieren. Und es ist auch Erben von Form. Ordnung, und dann hat es keine zusätzlichen Eigenschaften und vergisst dann in diesem Moment tatsächlich , ihm eine eigene Ge-Ära zu geben. Also genau hier werde ich sehr inkonsistent sein, weil Cubed den Bereich bekommen kann, Dreieck kann den Bereich bekommen. Und ich bin ein Mensch, ich habe vergessen die GetArea-Klasse oder -Methode in die Rectangle Klasse einzufügen. Nein. Ich bekomme den Bereich des Rechtecks und habe mein Programm veröffentlicht. Ich habe dich den Leuten erzählt und dann bekomme ich dieses Feedback, Hey, das funktioniert nicht als ich versucht habe, mit unseren Zungen zu arbeiten. Dies wird ein gebautes usw. usw. unterstützen. Das ist eine Art von Feedback, das Sie dazu bringen sollte, es besser zu machen. Aber mein Punkt ist, dass es Zeiten gibt, in denen dies passieren kann. Das ist der Zeitpunkt, an dem wir unsere Vererbung nur von Klassen, abstrakter Klasse hier verschieben unsere Vererbung nur von Klassen, und dann anfangen, die Vererbung mithilfe von Schnittstellen zu betrachten . Interface ist eine verkleinerte Version einer Klasse, aber es ist eher wie ein Vertrag. Ich zeige dir ein Beispiel dafür. Also schreibe ich es einfach hier. Ich sage Interface statt Klasse, wir sagen Interface. Und dann allgemein gesagt, die Namenskonvention für Schnittstellen, die Sie mit einem Kapital I begonnen haben, und dann geben Sie ihm den Namen. Also gestalte ich. Das ist die Schnittstelle , mit der wir arbeiten. Nein, wie gesagt, es ist eine leichtere Gewichtsklasse, was bedeutet, dass sie Eigenschaften definieren kann , Methoden definieren kann, aber vielmehr kann es sie deklarieren, aber es definiert sie nicht. Nur um den Truck zu kriegen. Dies ist ein Funktionsaufruf. Die Definition der Funktion ist jedoch der eigentliche Code, den eine Funktion ausführt. Lass mich zurück zu meiner Person springen. Also hier ist die Definition der Funktion. Dies sind Definitionen für die Schnittstelle, die es möglicherweise nicht unbedingt definieren, da die Definition von Get Ära für Rechteck anders aussehen wird die Definition für das Dreieck Schnittstelle, die es möglicherweise nicht unbedingt definieren, da die Definition von Get Ära für Rechteck anders aussehen wird als die Definition für das Dreieck anders als die Definition für den Würfel. Ich kann jedoch erklären, dass jede abgeleitete Klasse, die von dieser Schnittstelle erbt , eine Definition für eine bestimmte Methode haben muss . Hier kann ich also sehen , dass es immer langweilig blaue Get-Bereich geben sollte . In Ordnung? Also alles, was von IS-Form erbt. Die meisten implementieren Double Get Bereich. Deshalb nennen wir es eine oder einige Deklaration, einige Sprachen würden dies wie Funktionsprototypen nennen . Das sieht also nur, dass dies der Datentyp ist, das ist der Name. Vielleicht gibt es Parameter, aber das ist alles, was es gibt. Es ist keine Definition und es ist kein Funktionsaufruf, es ist ein Prototyp. Wissen Sie, ich kann jeden von einem Schaf geerbt haben lassen. Ich weiß es. Sie werden WE Vererbung sehen, Sie nicht von mehr als einer Klasse gleichzeitig erben können. Sie können jedoch zu diesem Zeitpunkt von einer Klasse und einer Schnittstelle oder mehreren Schnittstellen erben . Das sind die Regeln genau hier. Ich kann es sagen. Kiefer-Dreieck. Ja, du erbst von Shape. Und mal sehen. Keiner von ihnen hat eine Ära definiert. Lassen Sie mich die Ära in der Warteschlange bekommen. Dreieck und ein Rechteck haben keine Ära definiert. Denken Sie nun daran, dass das Problem darin bestand, dass wir es ausgeliefert haben ohne die Fläche für das Rechteck zu berechnen. Und nein, ich habe es für ein Dreieck entfernt. Buchwürfel ist in Ordnung. Qb muss nur die Höhe zurückgeben, ein Ganzes, ist es wieder? Nein, es ist Breite versus Länge, leider, Länge mal Breite, Der Bereich des Würfels. Okay, das ist in Ordnung. Aber dann haben diese beiden keine Methode dafür definiert. Ich kann eigentlich einfach hier nach dem Doppelpunkt zur Erbschaft gehen und Como sehen, den ich auch von mir selbst erben wollte , lass mich bewegen. Ich habe die Schweizer Akte geformt. Lass mich das schnell machen. Ich merke, dass es immer noch nur eine CSS-Datei ist und der Name ist I -Shape. Und Sie wollten immer sicherstellen, dass Ihre Dateinamen mit dem Namen der Klasse übereinstimmen. Es ist in seiner eigenen Datei, Es ist eine Vererbung, es ist eine Schnittstelle, die eher die Implementierung erzwingen sollte, eine Methode, die Prototypen sind, wird deklariert. Wenn ich zu der Klasse gehe, die nicht von meiner Form erbt, sehe ich einen Fehler. Was ist das für ein Bereich? Es ist zu sehen, dass Rechteck, das die Klasse ist, das Interface-Mitglied, das ich seep dot get era nicht implementiert . Sie sehen darin, dass ich sicherstellen muss , dass ich, wenn ich von Isua erbe, implementiere ich , was IS-geformt gesagt wird , umgesetzt werden sollte. Also kann ich einfach Control Dots machen und Interface implementieren und es wird den Methodenstub für mich setzen. Dies ist eine gute Möglichkeit, bei der Bearbeitung, der Kompilierebene, durchzusetzen . Dass bestimmte Regeln eingehalten werden. Jede Form sollte in der Lage sein, ihre Fläche zu berechnen. Rechteck sollte Ära werden sollen, indem all diese von i Form geerbt werden lassen. Ich erzwinge die Regel nicht , weil dieses Programm niemals kompiliert werden würde. Ich konnte nicht alles in diesem Zustand versenden , weil es nicht funktionieren würde. Ich muss sicherstellen , dass ich unsere Vertretung von GetArea habe , bevor ich weitermachen kann. Nein, das wird nur eine nicht implementierte Ausnahme auslösen, was ein anderer Ausnahmetyp ist, aber das ist in Ordnung. können wir löschen. Dann kann ich für Rechteck die Länge mal Breite zurückgeben. In Ordnung, warum habe ich Zugriff auf die Länge? Weil verknüpft in den abstrakten Schafen definiert wurde und es davon erbt. So kann ich leicht auf sie zugreifen , ohne dass ich viele Immobilien neu definieren und einlösen muss. Länge mal, wie hoch ist seine Höhe? Es war Höhe und Breite. Das heißt also, dass ich das Grundstück tatsächlich mit Angst einsetzen muss. Es gibt viele Permutationen, da das Ganze funktioniert. Ich meine, ich werde nicht alle Variationen abdecken können . Ich wollte euch nur Beispiele geben , warum Sie eine Vererbung durch eine Klasse versus Vererbung durch eine Schnittstelle gegen beides haben würden . Cube erbt derzeit nicht von irgendeiner Schnittstelle, der ich es sagen kann, aber es hat bereits die Implementierung durchgeführt, also ist das in Ordnung. Es gibt dort keinen Fehler. Wie gesagt, mit den Vererbungsrändern können Sie immer zwischen den Klassendateien springen und bei Bedarf zur Definition springen. Sie können sehen, wo es überall definiert wird usw. Also hier im Dreieck, wenn ich versuchen würde, einen Bereich eines Dreiecks zu bekommen, würde es mir hier ein Aerosol geben. Ich kann die Definition innerhalb der Dreiecksklasse haben , halb B. Das ist also das 0,5-fache der Basis, die ich als Länge benutzt habe. Das ist die halbe Grundzeit der Höhe, oder? Tut mir leid, es ist schon eine Weile her lass uns einfach sagen, dass das die halbe Basiszeit ist, wirklich und wahrhaftig, oder? Und genau das ist der Dreiecksbereich definiert. Dies ist der Rechteckbereich. Und dann ist der Cubebereich , dass Sie, obwohl Sie erben, hier Ihre eigenen Methoden haben können, weil ich leicht das öffentliche Double Get Volume sehen kann . Und das Volumen des Würfels wäre mal Länge o. Ich sagte hier Länge mal Länge, Länge mal Breite. Länge mal Breite mal Höhe. Alles klar? Ja, ich erbe 11 ist beginnende Wälder, aber ich kann meine eigenen und meine eigenen Eigenschaften haben , obwohl ich meine, das Erben, Erbschaft hilft uns, Wiederholungen zu reduzieren. Und denken Sie daran, DRY-Prinzip, wiederholen Sie sich nicht überall dort , wo Sie solche Möglichkeiten sehen, bei denen Sie bestimmte Eigenschaften über mehrere Klassen hinweg wiederholen , die immer noch flach sind möchte sie in eine Basisklasse einfügen und Vererbung durchführen, um all diese Wiederholungen zu reduzieren. Lassen Sie uns ein schnelles Programm schreiben , um das alles auf die Probe zu stellen. Also habe ich den Cube schon und ich zeige dir das var-Schlüsselwort. Und auch var ist eine schnelle Möglichkeit, eine Variable oder ein Objekt zu definieren. Die Sache mit var ist , dass es annehmen wird, dass es sich um einen Typ handelt, der auf der rechten Seite dieser Dekoration basiert . Wenn ich also var-Dreieck sage, weiß es nicht, um welchen Datentyp es sich handelt, bis ich ihm sage, dass es ein neues Dreieck ist. Wenn ich var rechteck sagte, dann wird der Objektaufruf, das Objekt Dreieck genannt. Was wird immer noch nur vom Typ oder Zungenzucker sein? Das ist ein Typ, den ich definiert habe. Dies ist üblich, Sie werden sehen, welche C-scharfe Entwicklung war, anstatt String-Namen und ein Alter zu sehen und so weiter. Aber ich war früher streng damit, weil ich wollte , dass wir die Datentypen schätzen. In Zukunft wirst du sehen, dass ich var benutze , ein bisschen mehr. Var Dreieck. Ich kann Var Cube sagen. Ich kann Var Rechteck sagen. Rechteck ist gleich einem neuen Objekt aus Rechteck usw. Dann mache ich ein paar Konsolen, richtige Zeilen. Sie können Pause drücken und diese außer den drei Objekten replizieren , und dann habe ich drei. Kleine Variablen hier. Ich definiere sie nur als int, aber wie gesagt, gleich weit zu sehen. Nur wenn man einen Virus ohne Nein sieht , sollte dieser Link eine ganze Zahl sein , weil wir auf der rechten Seite sehen, dass wir eine ganze Zahl senden. Das kann ein zweischneidiges Schwert da es nicht bereit ist, Ihnen einen Fehler zu geben , wenn der Datentyp nicht dem entspricht, was Sie erwarten. Wenn Sie jedoch so streng sind, können Sie aus einer Meile Entfernung sehen , dass Sie möglicherweise falschen Code für die vorliegende Situation schreiben , wie hier. Ich neige dazu, die primitiven Datentypen zu verwenden, wenn es nötig ist. Aber für die komplexeren werde ich mich auf Feuer verlassen, aber manchmal kann man sie wieder austauschbar verwenden. Hier fordere ich nur nach der Länge, der Breite und der Höhe auf. Dann setze ich Würfelpunkte. Länge ist gleich der Länge, Würfelbreite entspricht dem eintretenden Breitenwert. Kuba, Punkthöhe soll Höhe sein. Ein anderes dasselbe für das Dreieck mit Länge, Dreieck mit Breite und Dreieck mit Höhe. Beachten Sie, dass dieser mir einen Fehler gibt , da im Dreieck keine Width-Eigenschaft definiert ist. Das waren also Visual Studios Vorschläge. Ich entferne es. Das ist in Ordnung. Und dann wird das Rechteck Länge und Breite annehmen, was nicht eng. Wissen Sie, es gibt verschiedene Möglichkeiten , unsere Zuweisung dieser Werte zu definieren. Dies ist eine Möglichkeit, dies zu tun. Es gibt eine andere Möglichkeit, es zu tun. Es gibt mindestens zwei andere Möglichkeiten, wie er effizienter gemacht werden könnte . In der nächsten Lektion, als wir uns Konstruktoren anschauten, zeige ich Ihnen, dass wir, nachdem wir all diese definiert haben, leicht einige Konsolenpunkt-Schreibzeilen erstellen können. Ich leihe mir das einfach einmalige aus und sehe Dreieck. Lass mich mit Cube beginnen, Würfelbereich. Dann nennen wir Cube Dots, bekommt Bereich. Normalerweise haben wir, nachdem wir die Werte zugewiesen haben, eine Definition dafür, dass es dort Ära bekommt und q auch Volumen bekommen hätte. Also rufe ich das einfach gleichzeitig an. Dann machen wir einfach das Dreieck. Hier wird das Dreieck Gets Era-Methode genannt. Und wir können das Gleiche für den Rechteckbereich tun. Alles klar. Ich zeige dir nur, dass alles fließt, wenn du anfängst , wie alles funktioniert. Sie werden sehen, dass objektorientierte Programmierung dazu da ist, Ihnen das Leben zu erleichtern. Also sieh dir an, wie viel Code wir geschrieben haben. Leuko-winzige Dinge, die wir bisher gemacht haben , oder program.cs ist so einfach , dass es nur drei Objekte definiert, Daten abruft und dann den Prozess sendet , um all diese Werte zu erhalten, die sind vor uns verborgen. Wenn ich das ausprobiere, verwende ich offensichtlich für alle drei Formen die gleichen drei Werte . Die cm Länge, um ihn in der Naht zu sehen. Alles klar, also lass mich meine Konsole freigeben. Nehmen wir an, die Länge ist 50 mal 40 mal 32. Und dann beträgt die Fläche des Würfels zweitausend, aber das Volumen, das Volumen hätte sein sollen, beträgt 2032. Und dann die dreieckigen Bereiche. Also bei diesem bin ich mir nicht sicher ob das stimmt. Ja, ich wusste, dass er falsch war, weil ich Plus anstelle von Sternchen sagte , Entschuldigung. Aber ich hoffe, Sie sehen den Wert der Vererbung in diesem Zusammenhang. Wieder einmal konnte ich durch Vererbung eine Basisklasse erstellen, das heißt, ich nenne sie eine abstrakte Klasse namens shape, die bestimmte gemeinsame Eigenschaften definiert die alle Formen haben. Und dann könnte ich jede andere Form einfach von diesem BCE-förmigen Gas ableiten oder erben lassen . Ich habe auch darüber nachgedacht, Vererbung zu verwenden durchzusetzen, dass eine bestimmte Methode oder ein bestimmter Mythen Gedanken macht, weil Sie nicht auf nur eine beschränkt sind. Aber bestimmte Methoden wurden in der Form durchgesetzt. Also denke ich, dass ich eine Namenskonvention gelindert habe . Also kontrolliere Daten und es sollte Gettier mit einem Kapital G Das Gleiche, damit es Volumen erhält. Es würde also nicht für mich eingesperrt werden. Was ich sagte ist, dass die Schnittstelle, wenn sie geerbt wird, wie ein Vertrag wirkt , besagt, dass Sie dazu verpflichtet sind . Sobald Sie von diesem Vertrag geerbt haben, meint er, dass Sie bereits gut sind, den durch den Vertrag definierten Vorgang durchzuführen . Das ist im Grunde genommen, oh, Vererbungsschnittstellen funktionieren. Und er wurde nicht viel komplizierter als das. Aber wenn Sie zu größeren Anwendungen kommen , werden Sie es sehen. Dies ist jedoch eine nette schnelle Einführung in die Vererbung mit Klassen und Schnittstellen. 26. Konstrukteure: Alles klar Leute, in dieser Lektion schauen wir uns Konstrukteure an. Also werde ich das Erbschaftsprojekt nur wiederverwenden , weil es bereits so viel Koordinate hat und ich denke, dass es ein perfekter Weg ist um zu zeigen, was Konstruktoren sind, und sie nützlich zu halten. Wenn wir die Vererbung durchlaufen erwähnt, dass es einfachere Möglichkeiten gibt , neu erstellten Objekten Werte zuzuweisen. Eine solche Möglichkeit wäre, und ich werde einfach den Code neu anordnen, der jemanden zerreißt, um die Objektdefinitionen nach unten zu verschieben , wo wir nach den Werten gefragt haben. Wenn ich Cube definiere, ähnlich wie bei den IRAs, wenn wir sagen könnten, gib mir einen neuen Bereich und setze dann gleichzeitig die Werte ein. kann ich tatsächlich mit einer brandneuen Klasse machen. Ich kann tatsächlich sagen, gib mir einen neuen Würfel, öffne und schließe geschweifte Klammern. Und dann kann ich anfangen, die verschiedenen Werte den verschiedenen Eigenschaften zuzuweisen , oder? So kann ich eine Breite sehen. Sie sollten den Wert von zehn erhalten. Seit ich es durch Benutzereingaben von allem k-mean in Richtung lokaler Variable bekommen habe. Alles klar. Sie erhalten die Länge dessen was durch unsere lokale Variable eingegangen ist. Höhe erhält die gleiche Behandlung. In Ordnung? Das heißt, diese eine Codezeile würde all diese drei tatsächlich eliminieren. Setz dich drauf. Diese eine Zeile würde mir einen neuen Würfel geben, der definiert ist, um die Breite entsprechend dem, was hereinkam, Länge und Höhe entsprechend dem, was hereinkam, zu haben, im Gegensatz zu mir ist die gewürfelte definiert ist, um die Breite entsprechend dem, was hereinkam, Länge und Höhe entsprechend dem, was hereinkam, zu haben , im Gegensatz zu mir Punktlänge gleich auf Länge gewürfelte Punktbreite. Es funktioniert. Aber ich zeige dir noch einmal Alternativen. Ich kann diese drei Codezeilen tatsächlich entfernen. Ich kann das Gleiche für das Dreieck tun. Und ich würde eigentlich nicht auf dasselbe Problem stoßen , wenn ich das Dreieck machte , das versehentlich in die Breite gelegt wurde. Und ich habe nicht gefragt, wo unsere Hypotenuse für mein Dreieck ist. Siehst du das? Das ist in Ordnung. Die Höhe ist gleich der Höhe Como, und dann ist die Länge gleich der Länge Como. Dann könnte ich leicht unseren Hypotenuse-Wert einsetzen . Ich habe nicht nach einem gefragt, also werde ich es einfach auf zehn programmieren. Dadurch werden diese beiden Codezeilen eliminiert. Und dann kann ich das mit dem Rechteck replizieren , anstatt von Grund auf neu einzutippen, ich leihe mir einfach den Code aus dem Würfel und entferne die Höhe, tatsächlich glaube ich, dass es diejenige ist, die ich für den Rechteck, das diese beiden Codezeilen eliminiert. Sieh dir das viel ordentlicher an. Nein, das sind Konstruktoren nicht. Ich arbeite mich hoch, um dir zu zeigen, was Konstruktoren sind. Konstruktoren sind Standardmethoden , die in einer Klasse erstellt werden , die erzwingen, dass ein Objekt die bestimmten Anlässe erfüllen muss bevor es instanziiert werden kann. Das ist ein Schluck voll. Lass es mich erklären. Nein, es gibt einen Standardkonstruktor , der keine Parameter annimmt. Deshalb können wir einfach sehen, dass Cube einer neuen Instanz von Cube entspricht, unabhängig davon, ob wir Werte angegeben haben oder nicht. Denn denken Sie daran, dass es funktioniert hat, Sie haben früher gearbeitet, als ich dort den neuen Cube ohne Werte erstellt habe . Es war also nur ein Objekt ohne Höhe, Breite oder Länge. Das wäre 0 gewesen. Wenn ich dies jedoch durchsetzen wollte, , um einen Cube zu erstellen müssen Sie diese Werte von Anfang an angeben, um einen Cube zu erstellen. Dann würde ich die Hilfe eines Konstruktors in Anspruch nehmen. Um einen Konstruktor zu erstellen. Ich drücke einfach die Umschalttaste 121 Cube und springe zur Definition über. Konstruktor erzwingen, können Sie das Schlüsselwort CTOs einfach schreiben und dann zweimal die Tabulatortaste drücken, und das erzeugt dann diesen Methodenstop. Knoten. Konstruktoren zeichnen sich dadurch aus , dass sie öffentlich und das Werkzeug den gleichen Namen wie die Klasse haben. Drei Tage nehmen r kann Parameter annehmen. Der Standardkonstruktor ist einer, der keine Parameter benötigt, ohne dass ich das tatsächlich tue , es gab einen Standard, der impliziert wird, weshalb ich mit Cube ohne Parameter davonkommen konnte . Das ist der Standardwert , der bereits impliziert ist. Aber manchmal würde man Leute finden, die sehr explizit mit dem Standardwert sind, insbesondere wenn sie eine Alternative haben , die nicht die Standardeinstellung ist. Sie können tatsächlich Konstruktorüberladungen der gleichen Wochenendmethode überladen lassen . Ich kann einen anderen Konstruktor definieren, die oberste Registerkarte CTR. Und dann kann ich nein sagen, du siehst, es beschwert sich, weil es zwei Konstruktoren sieht , die identisch sind. Es hat diese schon hier mit der Meeresumgebung gesehen , die Typen gibt, das ist in Ordnung. Aber was wäre, wenn ich das durchsetzen wollte , um einen Würfel zu erstellen? Du musst mir Breite geben. Du musst mir eine Höhe geben. Und Sie müssen weiterhin die Höhe falsch teilen. Und dann musst du mir geben, was ist der andere? Breite und Länge. Da sind wir los. Du musst mir diese drei Werte nennen. Und sobald Sie mir diese drei Werte gegeben haben, kann ich die Eigenschaften leicht auf diese Werte instanziieren. Dass wir keinen Würfel haben können, keine Seiten hat und darüber nachdenken kann. Hast du jemals eine Intensivstation mit 0 Länge, 0 innerhalb von 0 Höhe gesehen? Vielleicht hast du, es heißt unsichtbarer Würfel. Um einen Würfel zu erstellen, musst du mir die Höhe, die Breite und die Länge des Würfels angeben. Also kann ich diesen Standardkonstruktor tatsächlich entfernen und habe nur einen Konstruktor , der sieht, dass ich diese drei brauche. Nein, wenn ich das mache, schau dir an, was in der program.cs passiert, ich kann auf keinen Fall ein Objekt der Cube-Witwe definieren, das diese Werte innerhalb der Parameterliste übergibt Cube-Witwe definieren, das diese Werte innerhalb der Parameterliste übergibt . Obwohl dies den Compiler nicht besänftigt, oder? Lassen Sie mich das also entfernen und zeigen Sie das, um einen Würfel zu erstellen. Wenn Sie den Mauszeiger darüber bewegen, zeigt es Ihnen, dass Sie die int-Breite eng und lang haben müssen . Also muss ich die Breite angeben. Und das mache ich mit dem vom Benutzer angegebenen Wert, der Höhe und der Länge. Nein, es ist zufrieden. Jetzt hat es diesen Würfel. Wenn du sagst, gib mir einen neuen Würfel und du sagst, gib mir nu cube, du musst die Breite, die Höhe und die Länge angeben . Sobald Sie das getan haben, werden alle Werte zugewiesen. Denn im Konstruktor habe ich gesagt, sobald man diese automatischen Ideenwissenschaftler bekommt , dieses neue Objekt eines weiß dieses neue Objekt eines Würfels bereits, was seine Breite ist, wie hoch es ist und was es gemeint ist, ist im Voraus. Ich muss es danach nicht mehr so sagen, unser Ganze hatten wir zunächst den Code. In Ordnung, Dreieck kann immer noch davonkommen weil ich im Konstruktor nicht definiert habe. Selbst wenn ich ihm den Standardkonstruktor gebe, funktioniert es immer noch. Aber sagen wir, ich habe beides gegeben. Sowohl die Standardeinstellung als auch eine , die sagt, geben mir die Breite, tut mir leid, nicht mit der Länge , der Höhe und der Hypotenuse. Oder sie sagen Hype, oder? Oder ich könnte das durchsetzen. Ich will nur die Hypotenuse. Es liegt an mir, wie hoch ist der Standardwert? Was ist das absolute Minimum, das dieses Objekt haben muss, um instanziiert zu werden. Wenn ich zwei Konstruktoren wie diesen habe, kann ich einfach einen Standardkonstruenten wie diesen definieren und die Werte später zuweisen. Oder ich kann noch einen haben, bei dem ich die Werte übergeben kann. Also lasst uns sehen, dass ich den anderen einen Knoten benutze. Wenn ich also dreieckige offene Klammern sage, dann wirst du sehen, dass es mir zeigt, dass ich zwei Möglichkeiten habe, ein Dreieck zu erstellen. Ich kann leer erstellen, oder ich kann den Hypotenuse-Wert eingeben. Und lasst uns zehn eingeben, oder ich lege Benutzereingaben ein, was auch immer es ist. Das ist alles, was von mir verlangt wird. Ich weiß, dass ich ein Dreieck mit dem Standardkonstruktor habe. Lass es mich dreifach machen. Sie haben also den Standardkonstruktor. Das ist völlig leer. Keine Höhe, nein ohne Länge, was nicht wirklich praktisch ist. Dann hast du den, wo ja, ich habe es erstellt, leere Boote, ich gebe die Werte zu. Und dann habe ich einen, bei dem nichts anderes Werte hat außer der Hypotenuse. Alles klar? All diese Dinge sind also Optionen, wenn es darum geht , Konstruktor einzubauen. Sie können also mehrere Konstruktoren haben. Wenn wir also neue Klassen definieren, sogar C-Sharp integrierte Klassen, Sie möglicherweise feststellen, dass Sie ein Objekt definieren können. Entschuldigung, wenn wir Objekte aus der Brille definieren, können Sie die Objekte mit Parametern definieren, manchmal mit allen Parametern. Dies sind nur Überladungen von Konstruktoren, die in der Klasse existieren. Wenn ich einen Konstruktor erstelle, ist das mein Basiskonstruktor. Wenn ich mehrere Konstruktoren erstelle, dann sind das alles Optionen, weil ich dies einfach erweitern und sagen könnte , gib mir die Hypotenuse, die Höhe und die Länge. Wenn du willst. Sie haben diese Option auch, wenn Sie ein Dreieck erstellen, wenn Sie es nicht leer machen können, können Sie mir nur einen Button-Benutzer geben, Sie mir alle drei geben können. Was mache ich, wenn ich die Werte in den einzelnen Einstellungen erhalte? Wenn ich also die Hypotenuse allein bekomme, würde ich sagen, dass Hypotenuse hier neue Werte. Bleiben Sie. Wenn ich zu allen drei komme, dann ist Hypotenuse dein neuer Wert Heap. Klar. Wenn ich die Höhe, ihre Höhe und wenn ich die Länge, ihre Länge bekomme, können alle meine Definitionen durch all diese Optionen gekennzeichnet sein , oder? Dreieck drei könnte also die Option verwenden, Option überladen s1, wir übergeben nur die Hypotenuse ist eine, an der ich Hypotenuse gebe und lass uns zehn verwenden. Ich gehe in der Höhe und ich gehe in der Länge durch. Drei verschiedene Möglichkeiten, ein Dreiecksobjekt zu instanziieren. Natürlich wird jeder ein anderes Ergebnis haben, weil dies in seinem derzeitigen Zustand war, als ich versuchte, hier unten Bereich zu bekommen. Klar. Ich bekomme einfach 0, weil ich nichts unterschrieben habe. Ohr von diesem zu bekommen, würde mir jedoch einen bitteren Wert geben. Versuchen wir das mit Triangle Tool und versuchen es dann mit Reisen, dem, bei dem wir nur diesen Button benutzen, das wird mir wahrscheinlich 0 geben, weil das halbmal 0 mal zehn ist , was 0 ist. Und dann sollte dieser , wo ich alle Werte bereitstelle , mir ein weiteres Ergebnis bringen. Sagen wir das für eine Drehung, in Ordnung, also geben Sie einige Zufallswerte ein. Und dann sehen wir hier , dass wir zwei Nullen haben. Die erste 0 für das Dreieck hier ist, weil es leer war, diese leeren Objekte. Das zweite ist Dreieck dorthin, wo es die Höhe, die Länge und die als Zinn hartcodierte Hypotenuse erhielt , was natürlich leicht Benutzereingaben hätte sein können. Dann haben wir den dritten , der 0 ist, weil wir nur die Hypotenuse oder die Höhe und Breite bekommen haben. Die halbe Basis oder halbe Länge mal zehn wird uns also halbmal 0 mal zehn geben, was 20 ist. Dann wird der dreieckige Bereich für den dritten Bereich, in dem er zehn auf Höhe und die Breite 270 betragen wird. In Ordnung? Das ist also so ziemlich, das ist es so ziemlich für Loch, das du Konstruktoren benutzt, oder? Konstruktoren sind also wieder da, um die Anforderungen für bestimmte Eigenschaften durchzusetzen , bevor Sie mit der Instanziierung eines Objekts fortfahren können . 27. Erstelle GitHub-Konto: Schauen wir uns an, ein GitHub-Konto zu erstellen. Wenn Sie keine davon haben, können Sie in fünf oder weniger Minuten eins bekommen. Schritt Nummer eins, gehe zu github.com, das ist GIT Hub.com. Gehen Sie fort und geben Sie ihnen Ihre E-Mail-Adresse, um sich anzumelden? Nein, ich habe bereits ein Konto. Ich kann mich tatsächlich in mein Konto einloggen und dir zeigen, wie es aussieht . Genau das ist es. Es ist fast wie eine Social-Media-Plattform, aber für Entwickler und Open-Source-Mitwirkende und je mehr Follower Sie haben, und je mehr Follower Sie haben desto mehr Aktivität haben Sie auf Ihrem Bildschirm. Je mehr Repositorys oder Projekte Sie hinzufügen, desto mehr haben Sie hier. Es ist also sehr vorteilhaft Backups Ihres Quellcodes beizubehalten auf den Quellcode anderer Personen zu verweisen. Und im Allgemeinen Zusammenarbeit bei der Arbeit in Teams. Erstellen Sie also Ihr Konto, und sobald Sie dies getan haben, können Sie mit dem nächsten Schritt fortfahren. Wie ich schon sagte, es ist ein sehr einfaches Verfahren. Du gibst ihnen eine E-Mail-Adresse. Ich werde versuchen, ihnen einen zu geben, von dem ich glaube, dass sie sie noch nicht für mich haben. Und sobald Sie das getan haben, füllen Sie einfach den Rest des Formulars aus, geben den E-Mail-Inhalt ein und geben ihnen ein Passwort. Und ich denke danach senden sie den Verifizierungscode und das überprüfst du. Und dann boom, du hast ein Konto. Sobald Sie all das erledigt haben, können Sie mit der nächsten Lektion fortfahren . 28. Lösung in die Source: Alles klar Leute. Wir befinden uns auf einem sehr guten Meilenstein. Wir haben viel getan, seit wir mit diesem Kurs begonnen haben. Wir haben eine Reihe von Projekten und eine Reihe von Codereferenzen und Übungen. Und ich denke, es war bisher eine wunderbare Reise. An diesem Punkt wollte ich Ihnen das Konzept der Quellcodeverwaltung vorstellen , und es ist ein sehr einfaches Konzept zu erfassen. Erstens benötigen Sie Ihr GitHub-Konto, und ich bin mir sicher, dass Sie bereits eines davon aus Visual Studio erstellt haben. Es ist sehr einfach, sich in Ihr GitHub-Konto zu integrieren . Der erste Schritt hier, und ich werde nur alle Fenster schließen, alle Code-Bits. Ich kann einfach mit der rechten Maustaste klicken und sagen, dass alle Wannen auf TBS laufen. Also haben wir ein leeres Fenster. Von hier aus. Wenn Sie sich die rechte untere Ecke ansehen, sehen Sie eine Mischung als Werbeanzeige zur Quellcodeverwaltung. Und du klickst darauf, es heißt „get“. Wenn dies nicht angezeigt wird, müssen Sie möglicherweise die Installation Ihres Visual Studio erneut aufrufen . Wenn Sie also auf „Abrufen“ klicken, wird dieses kleine Fenster tatsächlich , das darauf hindeutet, dass Sie ein Git-Repository erstellen. Sie können Sie an dieser Stelle auch auffordern sich gegen Ihren GitHub oder Ihre Kegel zu authentifizieren. Hier haben Sie also zwei Möglichkeiten. Sie haben GitHub und Azure DevOps, beide im Besitz von Microsoft, beide unsere Variable für beide sind Quellcodeverwaltungs-Engines , die unterstützt werden, sind Unterstützung, die Protokoll erhält. Entweder funktioniert man. Ich werde es Ihnen jedoch mit GitHub zeigen, da es die bekannteste Open-Source-Plattform ist. Und er sagte uns, Sie sollen Ihren Code veröffentlichen und ein Portfolio haben , um anderen zu zeigen, dass Sie dies geschrieben haben, das wissen Sie. mit GitHub fortfahren, können Sie einfach abseits des Kurses ausfüllen, Sie sind authentifiziert, damit es bestimmte Leerzeichen für Sie ausfüllt. Dann würde er einen Repository-Namen sehen und dann kannst du ihm noch ein paar Texte geben. C-Sharp mit Net Sechs ging ich zur Konsolenprogrammierung mit Knit Sechs. Und er kann ihm eine Beschreibung geben. Aktivitäten rund um die B6 der c-Sharp-Programmierung in Dotnet sucht. Ich weiß es. Sie fragen sich vielleicht, okay, warum möchte ich meinen Code veröffentlichen? Ich habe es auf meinem Computer. Nun, eine Quellcodeverwaltung hilft Ihnen, Änderungen zu verwalten. Also haben wir viele Änderungen vorgenommen. Wir haben uns nicht mit der Quellcodeverwaltung beschäftigt. Ich bin mir sicher, wenn ich Sie bitten würde, sich daran zu erinnern und einige der Dinge aus den früheren Lektionen rückgängig zu machen, wäre es sehr schwierig. Das ist also ein Vorteil, denn wenn Sie einen Fehler machen , was funktioniert hat und Sie sich nicht sicher sind, wie Sie es beheben sollen. Sie können immer zur Quellcodeverwaltung zurückkehren, die funktionierte Version abrufen und dann von vorne beginnen. Es ist also gut, es ist aus diesem Grund von Vorteil. Ein weiterer Vorteil ist erneut, dass es Ihnen hilft, Code nicht nur mit potenziellen Arbeitgebern oder Ihren Freunden, sondern auch mit Ihrem Team zu teilen mit potenziellen Arbeitgebern oder Ihren Freunden, . Wenn Sie an einem Projekt arbeiten und alle einen Beitrag leisten müssen, anstatt zu kopieren und einzufügen, versuche ich, die Sitzung zu zoomen. Sie können tatsächlich einfach die Quellcodeverwaltung verwenden und zentralisieren, wo der Code gespeichert ist , der sich auf GitHub befindet. Und dann möchte jeder dieses Repository abonnieren und in der Lage sein, die Änderungen aller anderen zu sehen, Änderungen vorzunehmen, und jeder kann auf der gleichen Grundlage sein, wenn er darum geht Ablenkung zu oder einen Beitrag zur Bewerbung leisten. Ich werde das Häkchen des privaten Repositorys aufheben , weil ich nicht möchte, dass dies privat ist, wenn Sie Ihre Anwendung vor der Öffentlichkeit verstecken möchten , als Sie privat wählen, sonst heben Sie das Häkchen auf. Und dann kannst du einfach Create und Push sagen. Sobald Sie das erfolgreich gemacht haben und edle Dinge in Visual Studio One ändern, wird die Schaltfläche „Zur Quellcodeverwaltung hinzufügen“ nicht mehr angezeigt . Und ich wollte dir nur den Meister zeigen. Ich wollte dir das nur zeigen. Es wird ein Symbol mit dem Namen des Projekts oder anderer Projekte erhalten . Sie können sehen, dass ich eine Reihe von Projekten auf Source Control habe. Sie werden auch ein paar blaue Vorhängeschlösser neben Ihren Akten sehen . Das heißt, dass sie dort eingecheckt sind? Nein. Ich habe das gleiche Level wie das, was zentral gehostet wird. Wenn ich zu meinem GitHub-Profil gehe, könnte ich meine Repositorys durchsuchen. Lass mich bei Null anfangen. Das ist also meine GitHub-Homepage und auf der linken Seite befinden sich meine Repositories. Ich kann die Konsolenprogrammierung darin sehen , und es wird mir das Projekt filtern und zeigen mir das Projekt und alle Dateien, die die hochgeladenen Projektdateien abgesehen haben, sind hier für den hochgeladenen Projektdateien abgesehen haben, sind öffentlichen Zugriff, weil ich es erstellt habe öffentlich. Wenn ich mich ändern wollte, ist es ein Privat. Ich gehe zu den Einstellungen und scrolle nach unten und sehe die Sichtbarkeit ändern, dann würde ich es auf privat ändern. Ich könnte auch übertragen an jemand anderen archivieren oder einfach löschen, wenn ich es wirklich nicht mehr wollte. Ich kann auch umbenennen. Solange du nicht mit Namen kollidierst , ist das kein Problem. Wenn ich diesem Repository Personen hinzufügen möchte, also von meinen Teamkollegen, Personen, mit denen ich kostenlos programmiere, können Sie, denke ich, etwa fünf Mitarbeiter zusammenfassen. Sie müssen also nur Ihr Passwort bestätigen und dann können Sie Personen hinzufügen. Alles klar, damit ich weitermachen kann und sagen kann , dass Leute nach dem Benutzernamen suchen ihnen eine Einladung schicken. Sobald sie diese Einladung sehen, können sie annehmen und sie haben Zugriff auf das Repository, in das sie kommen und es mit Visual Studio öffnen können es mit Visual Studio öffnen , indem sie auf ihrem eigenen Computer auf Code klicken. Sie können „Open With Visual Studio“ sagen, wodurch sie das Projekt dann lokal in einem neuen Visual Studio-Fenster an einem Ort ihrer Präferenz öffnen lokal in einem neuen Visual Studio-Fenster können. Wenn ich diesen Pfad zum Testen geändert habe, in Ordnung, jetzt kann ich ihn klonen und es wird dazu kommen, es wird automatisch alle diese Dateien herunterladen und für mich auf meinem Computer einrichten. Das würden Ihre Teamkollegen tun, nachdem Sie das Projekt erstellt haben, Ihr Team, es würde weitermachen und klonen und dann können sie die Lösungsdateikonsolenprogrammierung SON öffnen . Und dann könnten sie mit allen Projektdateien entsprechend interagieren . Nun, als ich sein Ich in eine Akte ändere, sagen wir die Hello World, war das sehr einfach. Und dann habe ich vielleicht diese Änderung vorgenommen. Was auch immer die Änderung ist, es könnte ein neuer Text sein, es könnte ein Leerzeichen sein, was auch immer es ist, Sie werden sehen, dass dies jetzt ein rotes Häkchen hat. Dieses rote Signal bedeutet, dass ich die Datei seit dem letzten Mal geändert habe. Dies wird also eine Teständerung sein. Das ist meine Änderung. Ich habe die Datei relativ zur letzten Version geändert , die sich auf GitHub befand. Nachdem ich meine Änderung vorgenommen habe, arbeiten wir als Team, niemand. Es war meine Gelegenheit zu wissen, diese bestimmten Teile des Programms zu ändern diese bestimmten Teile des , und ich habe es geschafft und ich bin zufrieden. Ich muss es in GitHub einchecken , damit alle anderen Zugriff auf die Änderung haben können. Ich müsste zu einem Fenster gehen, das die guten Änderungen genannt wird. Sie können dorthin gelangen, indem Sie zu Ansicht gehen und Änderungen sehen, werden sie tatsächlich früher ausgeblendet. Aber es war Datsun, als die Schüler es hier neben dem Solution Explorer an die Seite docken . Da sind wir los. Ich bin mir nicht sicher warum ich mich nicht darauf fixieren werde. Holen Sie sich Änderungen. Darauf konzentriere ich mich. Also hol dir Änderungen, eins, du hast eine Nachricht eingefügt, was hast du sie geändert? Ich würde eine nette Nachricht geben, das Hello World-Programm modifiziert. Dann sehe ich alles und sehen, also klicke auf das kleine Caret neben den Kommentaren Alle und klicke auf Alles verpflichten und synchronisieren. Und was dies tun wird, ist, diese Änderung auf GitHub zu bringen. Also nein, ich habe nur ein paar Knopfklicks gemacht. Jetzt ist das Vorhängeschloss zurück. Und wenn jemand anderes zu GitHub zurückkehrt, beachte all diese Projektdateien, wenn ich aktualisiere, es wird ihnen zeigen, dass es vor 20 Sekunden eine Änderung gab. Und es wird mir zeigen , welches Projekt geändert wurde und wie die Botschaft lautete. Wenn ich auf diese Nachricht klicke, modifiziertes Programm, sehen Sie hier, dass es mir zeigt , dass es zwei neue Arten hinzugefügt hat, und was rot ist, was in Grün ist, ist die Anmerkung. Alles klar. Deshalb habe ich gesagt, dass er Änderungen verfolgen kann, weil man jetzt genau sehen kann, wer diese Änderung vorgenommen hat. Jemand, der die Anwendung zerstört hat, weiß also , wem Sie die Schuld geben müssen. In Ordnung, Sie können alle Änderungen , die an jeder Datei aufgetreten sind, mit jeder Iteration problemlos hinterlegen. Und Sie haben alle Versionen, die er zurückgehen kann , um die Commits zu suchen und auf die Commits zu klicken. Dann können Sie anhand der Nachrichten sehen, wer was getan hat und was die Nachricht war, Sie können immer zu dieser Version des Codes zurückkehren und diese abrufen. Ordnung, das ist also gut , wenn jemand im Team den Code zerstört oder sogar den Code zerstört und Sie zurückkehren wollten, ist es einfach, zu dieser saubereren Version zurückzukehren. Die Kehrseite für die Teammitglieder, die auf die Updates warten. Dies ist also das ursprüngliche Visual Studio-Fenster. Und wenn du dir meine program.cs ansiehst, hat es dieses Update nicht, oder? Lassen Sie uns also nein sagen, ich habe die Updates vorgenommen und muss, wissen Sie , den neuesten Code für dieses Update auf Ihre Anwendung auf Ihrem Computer abrufen . Alles, was Sie tun müssen, ist, um Änderungen zu erhalten. Wenn das Fenster auftaucht, lass mich das Andocken noch einmal reparieren. Wenn Änderungen abgerufen werden, müssen Sie nur einen Poolzyklus durchführen. Ich rufe dich an und sage: Hey, weißt du, ich habe die Arbeit beendet und ich habe sie eingecheckt, geh später. Du meinst also, Okay, danke. Und dann kommst du einfach, um Änderungen zu holen und dann machst du einen Pool. Und dann wird es zu GitHub gehen, alle Änderungen abrufen und dann schauen Sie sich das an. Es hat gerade meine Datei automatisch für mich aktualisiert. Aus diesem Grund eignet sich GitHub perfekt für Teamsituationen und nicht nur, dass Github mit einem Quellcodeverwaltungssystem gekauft wurde. Github ist nur eine deiner Optionen. Sie haben andere Optionen gibt es gibt eines der Protokolle. Aber ich werde der beliebteste sein. Und diejenige, die ich GitHub empfehlen würde , ist eine der beliebtesten Plattformen, am einfachsten in meinem Buch gestartet werden kann, und auch eine, die ich empfehle.