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.