var ternary operator
In diesem Tutorial werden Var, LINQ und Ternary Operator in C # anhand von Syntax-, Verwendungs- und Programmierbeispielen erläutert:
C # ist eine stark typisierte Sprache, d. H. Wir müssen eine Variable deklarieren, bevor wir sie irgendwo im Programm verwenden können. Nehmen wir jedoch ein Szenario an, in dem wir nicht wissen, welchen Variablentyp wir im nächsten Schritt des Programms benötigen werden.
Um diese Arten von Szenarien zu behandeln, kann der Benutzer mit C # Variablen deklarieren, ohne ihnen explizite Datentypen bereitzustellen. Dies kann erreicht werden, indem eine Variable vom Typ 'var' deklariert wird.
=> Lesen Sie die Easy C # Trainingsreihe durch
Was du lernen wirst:
Habe C #
Eigenschaften des Schlüsselworts 'var'
Das Schlüsselwort var initialisiert Variablen mit Unterstützung von var. Der Datentyp einer var-Variablen wird während der Ausführungszeit definiert, während der Variablen Daten zugewiesen werden. C # wandelt den Datentyp automatisch in die Variable var um. Sobald der Datentyp der Variablen zugewiesen wurde, kann er nicht mehr geändert werden.
Beispiel
Mit dem Schlüsselwort 'var' kann eine Variable vom Typ var deklariert werden, mit der ein beliebiger Datentyp gespeichert werden kann. Schauen wir uns einige Verwendungszwecke von Variablen vom Typ var für die verschiedenen Datentypen an.
public static void Main(string() args) { var integerData = 100; var booleanData = true; var stringData = 'Var Keyword'; Console.WriteLine('Printing different var variables:
{0}
{1}
{2}', integerData, booleanData, stringData); Console.Read(); }
Ausgabe
Drucken verschiedener var-Variablen:
100
Wahr
Schlüsselwort sein
Erläuterung
Hier haben wir 3 verschiedene Variablen definiert - integerData, booleanData und stringData mit dem Datentyp 'var'. Dann haben wir jeder dieser Variablen Werte verschiedener Datentypen zugewiesen. Wenn wir dies nun auf der Konsole drucken, erhalten wir die Ausgabe aller zugewiesenen Werte.
Verwenden von var So greifen Sie auf Daten aus ArrayList zu
Nehmen wir an, wir haben eine ArrayList, auf die wir zugreifen möchten. Wenn wir keine Ahnung vom Datentyp der Array-Liste haben, kann die Verwendung einer var-Variablen sehr nützlich sein. Es kann auch hilfreich sein, wenn die Array-Liste mehrere Datentypen enthält.
Beispiel
Java, wie man ein Array umkehrt
public static void Main(string() args) { ArrayList ar = new ArrayList(); ar.Add(1); ar.Add(2); ar.Add(3); ar.Add(4); foreach (var a in ar) { Console.WriteLine(a); } Console.Read(); }
Ausgabe
1
zwei
3
4
Erläuterung
Wir haben eine ArrayList mit den 4 Werten 1, 2, 3 und 4 erstellt. Wie bereits erwähnt, können wir, wenn wir die in der Array-Liste enthaltenen Datentypen nicht kennen, ein 'var' in der foreach-Schleife verwenden, um auf Daten zuzugreifen Typ, den es enthalten kann.
Daher werden jeder Variablen zum Zeitpunkt der Wertzuweisung Datentypen zugewiesen. Dies ist auch nützlich, wenn das Array mehrere Datentypwerte enthält.
Einschränkungen bei der Verwendung von var
Ähnlich wie bei den anderen Datentypen und Schlüsselwörtern hat auch var einen angemessenen Anteil an Einschränkungen. Schauen wir uns einige der Einschränkungen für das Schlüsselwort var an.
- Var verschleiert den tatsächlichen Datentyp der Variablen. Wenn ein Initialisierer keinen klar definierten Datentyp zuweist, ist es schwierig, den tatsächlichen Datentyp der Variablen zu bestimmen.
- Das Schlüsselwort 'var' ist einfach, dass die Programmierer es überall verwenden und es schwierig macht, es von den anderen Variablen in der Anwendung zu unterscheiden. Zum Beispiel, wenn ich eine Variable vom Typ var habe. Ich weiß nicht, ob es sich um eine Zeichenfolge, eine Ganzzahl oder sogar ein Wörterbuch handelt.
Zusammenfassung des C # var-Schlüsselworts
Nachfolgend sind einige der wichtigsten Fakten zum var-Schlüsselwort aufgeführt, die wir alle bei der Verwendung berücksichtigen müssen:
- Var ist sehr nützlich, um Variablen lokal zu definieren, ohne einen expliziten Datentyp angeben zu müssen. Der Datentyp einer var-Variablen wird bestimmt, während ihr ein beliebiger Wert zugewiesen wird. Sobald ein Datentyp zugewiesen wurde, kann er nicht mehr geändert werden.
- Alle var-Variablen müssen in derselben Codezeile deklariert und initialisiert werden. C # erlaubt es nicht, den impliziten lokalen Variablen einen Nullwert zuzuweisen.
Ternäre C # -Operatoren
Der ternäre Operator in Cis ist ein Entscheidungsoperator und ersetzt die if-else-Anweisung in der Programmiersprache Cis. Mit diesem Operator können wir mehrere if-else-Anweisungen in einer einfachen Codezeile ersetzen.
Ein ternärer Operator hilft den Programmierern, Anweisungen basierend auf einigen vordefinierten Bedingungen auszuführen, indem er die Syntax des Entscheidungsoperators '?:' Verwendet.
Syntax des ternären Operators
In der Programmiersprache C # enthält der ternäre Operator drei verschiedene Arten von Operanden
Bedingungsausdruck? Erster_Ausdruck: Zweiter_Ausdruck;
Wie in der obigen Syntax zu sehen ist, besteht der ternäre Operator aus drei Teilen. Der erste Teil enthält einen bedingten Ausdruck, der einen Booleschen Wert zurückgibt, d. H. Wahr oder falsch.
Der zweite Teil enthält die Anweisung, die ein Programmierer zurückgeben möchte, wenn der Ausdruck als wahr ausgewertet wird. Der letzte und der letzte Teil enthalten die Anweisung, die zurückgegeben wird, wenn der Ausdruck als falsch ausgewertet wird.
Beachten Sie, dass der ternäre Operator nur den Wert zurückgibt, der im zweiten und dritten Teil enthalten ist. Er führt die Ausdrücke nicht aus.
Schauen wir uns das folgende Beispiel an, um zu sehen, wie ein bedingter Operator funktioniert:
verknüpfter Listenknoten c ++
Programm
public static void Main(string() args) { int a = 1; int b = 3; var compare = a > b ? 'a is greater than b ' : 'b is greater than a'; Console.WriteLine('The comparison result : {0}', compare); }
Ausgabe
Das Vergleichsergebnis: b ist größer als a
Erklärung des Codes
Hier haben wir zwei verschiedene Ganzzahlen, die wir zum Vergleich verwendet haben. Wir verwenden einen var-Vergleich, um das Ergebnis zu speichern. Dann verwenden wir einen ternären Operator, um beide ganzen Zahlen zu vergleichen. Wenn der Ausdruck also true zurückgibt, wird die erste Anweisung als Ergebnis zurückgegeben, und wenn der Ausdruck false ist, wird die zweite Anweisung zurückgegeben.
Verschachtelter ternärer Operator
Mit C # können Programmierer auch einen verschachtelten ternären Operator erstellen, indem sie mehrere bedingte Ausdrücke kombinieren. Der verschachtelte ternäre Operator hilft dabei, mehrere if-else if-Anweisungen zu ersetzen und sie dadurch in einer einzigen Codezeile zu vereinfachen.
Sehen wir uns ein Beispiel für einen verschachtelten Standard-Ternär an. Zum Beispiel, Wir werden diskutieren, wie wir eine einzelne Codezeile des ternären Operators verwenden können, anstatt einen großen if-else-if-Anweisungsblock zu verwenden.
Programm
public static void Main(string() args) { int a = 3; int b = 3; var compare = a > b ? 'a is greater than b' : a Ausgabe
Das Vergleichsergebnis: a ist gleich b
Erläuterung
Wenn wir uns das obige Beispiel ansehen, werden wir sehen, dass wir anstelle mehrerer if-else-Anweisungen einen einzelnen verschachtelten ternären Operator geschrieben haben, der das gleiche Ergebnis liefert, wenn mehrere Anweisungen darüber geschrieben werden.
Ein verschachtelter ternärer Operator wird geschrieben, indem die zweite Anweisung in der Syntax des ternären Operators durch einen anderen ternären Operator ersetzt wird. Wir können dies mehrmals tun, um eine beliebige Anzahl der gegebenen Bedingungen zu verschachteln. Dies kann auch verwendet werden, um die if else if-Bedingung zu ersetzen.
Zusammenfassung des ternären Operators
- Wir haben etwas über den ternären Operatorausdruck gelernt.
- Wir erfahren auch, dass ein ternärer Operator immer einen Wert zurückgibt und dieser nicht ausgeführt wird.
Der freie Operator kann verwendet werden, um die if-else- oder if-else-if-Anweisung zu ersetzen. Wir können einfach einen ternären Operator oder sogar einen verschachtelten ternären Operator verwenden.
C # LINQ
In .net Framework 3.5 wurde eine sprachintegrierte Abfrage oder LINQ eingeführt. Es hilft bei der Abfrage von Daten von verschiedenen Datensammlern, wie z. B. einer Datenbank, Sammlungen usw. Basierend auf den Benutzeranforderungen.
Es ist sowohl in C Sharp als auch in VB integriert und hilft so, den Konflikt zwischen den verschiedenen Programmiersprachen und Datenbanken gleichzeitig zu beseitigen und eine einzige Sprachabfrage für verschiedene Datenquellen bereitzustellen.
Zum Beispiel, Wir können einen LINQ verwenden, um nicht gespeicherte Daten aus der Datenbank abzurufen, ähnlich wie bei SQL Query. Wir können Programmierern helfen, auf Daten aus verschiedenen Datenquellen wie SQL Server, XML-Dokumenten, Sammlungen usw. zuzugreifen und diese zu speichern.
LINQ-Syntax
Bevor wir Operationen mit LINQ ausführen können, müssen wir den system.Linq-Namespace in unsere Anwendung importieren.
Wir können LINQ-Operationen auf zwei Arten ausführen:
- LINQ-Abfragesyntax
- Syntax der LINQ-Methode
LINQ-Abfragesyntax
Mit LINQ können wir mithilfe der Abfragesyntax verschiedene Abfragevorgänge ausführen. Es unterscheidet sich stark von SQL und erfordert, dass wir der unten gezeigten Syntaxhierarchie folgen.
Die Hierarchie für den Satz ist in der folgenden Reihenfolge angegeben.
Von, in, lassen, wo, bestellen nach, auswählen, gruppieren nach, in
Dies ist die Auftragshierarchie, die beim Schreiben der LINQ-Abfragesyntax beibehalten werden muss. Schauen wir uns die allgemeine Syntax für die LINQ-Abfragesyntax an.
Syntax
from variable_name in collection_name
Schauen wir uns ein Beispiel an, um die Verwendung der Abfragesyntax besser zu verstehen.
Programm
public static void Main(string() args) { int() ar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; var query = from num in ar where num <3 select num; foreach (var v in query) { Console.WriteLine(v); } }
Ausgabe
1
zwei
Erläuterung
In diesem Beispiel haben wir ein Array vom Typ Integer mit einigen Testdaten definiert. Dann haben wir eine Variable vom Typ var verwendet, um das Ergebnis der LINQ-Abfrage zu speichern. Später haben wir eine foreach-Schleife verwendet, um den gesamten Inhalt des Ergebnisses zu drucken.
Das obige Beispiel zeigt uns, wie die LINQ-Abfragesyntax in unserem Programm verwendet wird.
Syntax der LINQ-Methode
Die Methodensyntax verwendet die Erweiterungsmethode der Enumerable-Klasse. Die Methodensyntax unterscheidet sich erheblich von der Abfragesyntax.
Im Folgenden finden Sie ein Beispiel für die Funktionsweise der Methodensyntax.
Programm
public static void Main(string() args) { int() ar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; IEnumerable query = ar.Where(n => n > 9).ToList(); foreach (var v in query) { Console.WriteLine(v); } }
Ausgabe
10
elf
12
Erläuterung
Hier haben Sie ein Array vom Typ Integer mit einigen Integer-Daten. Dann haben wir die Methodenabfrage für das Integer-Array ausgeführt. Wir haben eine foreach-Schleife verwendet, um die Daten aus dem Ergebnis der Abfrage abzurufen. Dies gibt uns das Ergebnis basierend auf der Bedingung, die wir in der Methodensyntax angegeben haben.
Fazit
Wir haben gelernt, dass LINQ eine integrierte Abfragesprache ist, die in das .NET-Framework eingeführt wurde.
Verwendung des Befehls diff zum Vergleichen von zwei Dateien
Es bietet eine Lösung zum Abfragen verschiedener Datenquellen wie XML-Dokumentensammlungen, SQL-Datenbanken usw. Es kann sowohl mit C Sharp als auch mit VB.net verwendet werden.
=> Überprüfen Sie ALLE C # -Tutorials hier
Literatur-Empfehlungen
- Ternärer Operator in Java - Tutorial mit Beispielen
- Beste KOSTENLOSE C # Tutorial-Serie: Der ultimative C # Leitfaden für Anfänger
- C # -Array: Wie deklariere, initialisiere und greife ich auf ein Array in C # zu?
- C # -Sammlungen: ArrayList, HashTable, SortedList mit Beispielen
- C # DateTime Tutorial: Arbeiten mit Datum und Uhrzeit in C # mit Beispiel
- C # -Liste und Wörterbuch - Tutorial mit Codebeispielen
- C # -Operatoren: Arithmetik, Relational, Zuordnung und Logik
- Casting vom Typ C #: Explizite und implizite Datenkonvertierung mit Beispiel