C#-Out-Parameter
Sep 03, 2024 pm 03:29 PM?out“ ist ein Schlüsselwort in C#, das verwendet wird, um Argumente als Referenztyp an eine Methode zu übergeben. Variablen, die als Out-Parameter an eine Methode übergeben werden, müssen nicht deklariert oder initialisiert werden, bevor sie an den Methodenaufruf übergeben werden. Die aufgerufene Methode muss den Variablen der Out-Parameter Werte zuweisen, bevor das Steuerelement die aufgerufene Methode verl?sst und bevor die aufgerufene Methode einen Wert an die aufrufende Methode zurückgibt. Es ist m?glich, mehrere Parameter an eine Methode zu übergeben und die Methode gibt mehrere Werte zurück.
Syntax mit Erkl?rung:
Beim Aufrufen der Methode mit dem Out-Parameter lautet die Syntax wie folgt:
Method_name(out data_type variable_name);
Hier ist Methodenname ein beliebiger benutzerdefinierter Name, der der Methode gegeben wird, ?out“ ist das Schlüsselwort, mit dem ausgedrückt wird, dass die an die Methode übergebene Variable ein Out-Parameter ist, Datentyp kann ein beliebiger Datentyp der Variablen sein und Variablenname ist der benutzerdefinierte Name der Variablen.
Die Syntax für die aufzurufende Methode lautet wie folgt:
access_specifier return_type Method_name(out data_type variable_name);
Hier kann access_specifier ein beliebiger Zugriffsspezifizierer unter den fünf von C# unterstützten Zugriffsspezifizierern sein, z. B. ?ffentlich oder privat. Dann ist return_type der Datentyp, den diese Methode zurückgibt, gefolgt vom Methodennamen und der ?out“-Parameterliste.
Wie funktioniert der Parameter ?out“ in C#?
In C# funktioniert das Schlüsselwort ?out“ ?hnlich wie die Schlüsselw?rter ?ref“ und ?in“. Der Unterschied zwischen den Parametern ?out“ und ?ref“ besteht darin, dass die Parametervariablen ?out“ nicht initialisiert werden müssen, bevor sie an eine Methode übergeben werden. Der Benutzer kann die Parametervariable ?out“ in der Argumentliste der Methode deklarieren Anstatt es separat zu deklarieren, wird dies als Inline-Deklaration des ?out“-Parameters bezeichnet, w?hrend die ?ref“-Parametervariablen initialisiert werden müssen, bevor sie an eine Methode übergeben werden. Auf die inline deklarierten ?out“-Parameter kann im selben Codeblock zugegriffen werden.
Beispiel #1
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { //inline declaration of 'out' parameter Display(out int num); Console.WriteLine("Value of variable 'num': {0}", num); Console.ReadLine(); } public static void Display(out int a) { //need to assign value a = 10; a += a; } } }
Ausgabe:
- Der Unterschied zwischen den Schlüsselw?rtern ?out“ und ?in“ besteht darin, dass die Parameterwerte ?out“ innerhalb der aufgerufenen Methode ge?ndert werden k?nnen, w?hrend die Parameterwerte ?in“ nicht innerhalb der aufgerufenen Methode ge?ndert werden k?nnen.
- Eine Methode kann mehr als einen ?out“-Parameter haben, wie zum Beispiel: Display(out x, out y);
- Um mit ?out“-Parametern zu arbeiten, muss der Benutzer das Schlüsselwort ?out“ explizit in der Methodendefinition und auch in der aufrufenden Methode verwenden. Gleichzeitig ist es nicht notwendig, dass die Namen der ?out“-Parameter in der Methodendefinition und im Aufruf identisch sind.
- Die ?out“-Parameter werden als Referenz an eine Methode übergeben, daher erstellen sie keinen neuen Speicherort im Speicher und verwenden denselben Speicherort, der von den variablen Argumenten beim Methodenaufruf belegt wird. Da die Methode, die ?out“-Parameter verwendet, mehrere Werte zurückgeben kann, hilft es dem Benutzer, mehrere verarbeitete Werte von der aufgerufenen Methode zu erhalten. Bevor die Methode jedoch einen Wert an die aufrufende Methode zurückgibt, müssen den ?out“-Parametern einige Werte in der Methode zugewiesen werden.
- Wir k?nnen nicht in allen Arten von Methoden mit ?out“-Parametern arbeiten, so wie wir nicht in asynchronen Methoden, die wir mit dem Modifikator ?async“ definieren, ?out“-Parameter verwenden k?nnen, und wir k?nnen auch nicht in ?Iterator“-Methoden ?out“-Parameter verwenden bestehen aus der Aussage ?Yield Return“ oder ?Yield Break“. Da Eigenschaften keine Variablen sind, k?nnen wir sie nicht als ?Out“-Parameter an eine Methode übergeben.
- Der Parameter ?out“ kann mithilfe eines generischen Typs definiert werden, um anzugeben, dass der Typparameter kovariant ist. Darüber hinaus wird der Parameter ?out“ in den TryParse()-Methoden für verschiedene Datentypen in C# verwendet. Die TryParse()-Methode gibt einen booleschen Wert zurück, der Erfolg oder Misserfolg angibt. Bei Erfolg wird das Ergebnis durch den Parameter ?out“ angegeben.
Beispiel #2
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { string str = "123456"; int num; //if ‘canParse’ is true; the result of conversion will be stored in ‘num’ bool canParse = Int32.TryParse(str, out num); if (canParse) Console.WriteLine(num); else Console.WriteLine("Could not be parsed."); Console.ReadLine(); } } }
Ausgabe:
Beispiele für?C#-Out-Parameter
Im Folgenden finden Sie Beispiele für C#-Out-Parameter:
Beispiel #1
Beispiel zeigt, wie mehrere ?Out“-Parameter an eine Methode übergeben werden und die Methode dann mehrere Werte zurückgibt.
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //declaring variables without assigning values float area, perimeter; //passing multiple variables to a method using 'out' keyword Calculate(5, 10, out area, out perimeter); //displaying the result Console.WriteLine("The area of rectangle is: {0}", area); Console.WriteLine("The perimeter of rectangle is: {0}", perimeter); Console.ReadLine(); } //method taking length & breadth & it will return area and perimeter of rectangle public static void Calculate(int length, int breadth, out float area, out float perimeter) { area = length * breadth; perimeter = 2 * (length + breadth); } } }
Ausgabe:
Beispiel #2
Beispiel, das die Inline-Deklaration des ?out“-Parameters zeigt.
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //in-line declaration of variables without assigning values Calculate(out int length, out int breadth, out float area); //displaying the values of length, breadth, and area Console.WriteLine("Length of rectangle: " + length); Console.WriteLine("Breadth of rectangle: " + breadth); Console.WriteLine("Area of rectangle: " + area); Console.ReadLine(); } //method taking 'out' parameters and it returns multiple values public static void Calculate(out int l, out int b, out float a) { l = 30; b = 40; a = l * b; } } }
Ausgabe:
Fazit
Der Parameter ?out“ in C# erm?glicht es Benutzern, Argumente durch Verweis auf eine Methode zu übergeben. Die als ?out“-Parameter verwendete Variable muss nicht initialisiert werden, bevor sie an eine Methode übergeben wird. Die aufgerufene Methode sollte dem Out-Parameter einen Wert zuweisen, bevor sie einen Wert zurückgibt.
Das obige ist der detaillierte Inhalt vonC#-Out-Parameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, w?hrend asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, w?hrend asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, w?hrend der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abh?ngt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsf?higkeit asynchron verwenden müssen.

Die Geschichte und Entwicklung von C# und C sind einzigartig, und auch die Zukunftsaussichten sind unterschiedlich. 1.C wurde 1983 von Bjarnestrustrup erfunden, um eine objektorientierte Programmierung in die C-Sprache einzuführen. Sein Evolutionsprozess umfasst mehrere Standardisierungen, z. B. C 11 Einführung von Auto-Keywords und Lambda-Ausdrücken, C 20 Einführung von Konzepten und Coroutinen und sich in Zukunft auf Leistung und Programme auf Systemebene konzentrieren. 2.C# wurde von Microsoft im Jahr 2000 ver?ffentlicht. Durch die Kombination der Vorteile von C und Java konzentriert sich seine Entwicklung auf Einfachheit und Produktivit?t. Zum Beispiel führte C#2.0 Generics und C#5.0 ein, die eine asynchrone Programmierung eingeführt haben, die sich in Zukunft auf die Produktivit?t und das Cloud -Computing der Entwickler konzentrieren.

Es gibt verschiedene M?glichkeiten, XML -Formate zu ?ndern: manuell mit einem Texteditor wie Notepad bearbeiten; automatisch Formatierung mit Online- oder Desktop -XML -Formatierungswerkzeugen wie XMLBeautifier; Definieren Sie Conversion -Regeln mithilfe von XML -Conversion -Tools wie XSLT; oder analysieren und mit Verwendung von Programmiersprachen wie Python arbeiten. Seien Sie vorsichtig, wenn Sie die Originaldateien ?ndern und sichern.

Es gibt drei M?glichkeiten, XML in Wort zu konvertieren: Verwenden Sie Microsoft Word, verwenden Sie einen XML -Konverter oder verwenden Sie eine Programmiersprache.

Zu den Methoden zum Umwandeln von XML in JSON geh?ren: Schreiben von Skripten oder Programmen in Programmiersprachen (wie Python, Java, C#) zum Konvertieren; Einfügen oder Hochladen von XML -Daten mithilfe von Online -Tools (z. B. XML in JSON, Gojko XML Converter, XML Online -Tools) und Auswahl der JSON -Formatausgabe; Durchführung von Konvertierungsaufgaben mit XML mit JSON -Konvertern (wie Oxygen XML -Editor, Stylus Studio, Altova XMLSPY); Konvertieren von XML in JSON mithilfe von XSLT -Stylesheets; Verwenden von Datenintegrationstools (z. B. informatisch

C# Multi-Thread-Programmierung ist eine Technologie, mit der Programme gleichzeitig mehrere Aufgaben ausführen k?nnen. Es kann die Programmeffizienz verbessern, indem es die Leistung verbessert, die Reaktionsf?higkeit verbessert und die parallele Verarbeitung implementiert. W?hrend die Thread -Klasse eine M?glichkeit bietet, Threads direkt zu erstellen, k?nnen erweiterte Tools wie Task und Async/Warted sicherer asynchroner Operationen und eine sauberere Codestruktur liefern. H?ufige Herausforderungen bei der Multithread -Programmierung umfassen Deadlocks, Rassenbedingungen und Ressourcenleckage, die eine sorgf?ltige Gestaltung von Fadenmodellen und die Verwendung geeigneter Synchronisationsmechanismen erfordern, um diese Probleme zu vermeiden.

Wie erstelle ich Anwendungen mit .NET? Erstellen Anwendungen mit .NET k?nnen in den folgenden Schritten erreicht werden: 1) Verstehen Sie die Grundlagen von .NET, einschlie?lich C# Sprache und plattformübergreifender Entwicklungsunterstützung; 2) Kernkonzepte wie Komponenten und Arbeitsprinzipien des .NET -?kosystems lernen; 3) Master Basic und Advanced Nutzung, von einfachen Konsolenanwendungen bis hin zu komplexen Webapis- und Datenbankvorg?ngen; 4) Mit gemeinsamen Fehlern und Debugging -Techniken wie Konfigurations- und Datenbankverbindungsproblemen vertraut sein; 5) Optimierung der Anwendungsleistung und Best Practices wie asynchrone Programmieren und Zwischenspeichern.

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.
