So arbeiten Sie mit anonymen Objekten in C#

So Arbeiten Sie Mit Anonymen Objekten In C



Objektorientierte Programmierung ist ein grundlegender Baustein in der Programmiersprache C#. Und wie Sie sich vorstellen können, sind Objekte tatsächlich ein entscheidender Block in OOP. Um jedoch Objekte zu erstellen, können Sie zunächst eine Klasse definieren, die die Struktur des Objekts und die möglichen Eigenschaften und Methoden festlegt.

Obwohl dies eine leistungsstarke Funktion ist, wenn Sie OOP komplett nutzen müssen, kann sie umständlich sein, wenn Sie schnell ein Basisobjekt erstellen müssen, das in keinem anderen Abschnitt verwendet wird.







Hier kommen die anonymen Objekte ins Spiel. Anonyme Objekte bieten eine schnelle und sehr übersichtliche Möglichkeit, Objekte zu erstellen, ohne tatsächlich eine Klasse definieren zu müssen.



Ein Hauptanwendungsfall für anonyme Objekte ist der Umgang mit temporären Objekten, die die Daten für einen sehr kurzen Zeitraum speichern können. Sie tragen auch dazu bei, den Mehraufwand zu beseitigen, der mit der Erstellung von Klassen wie LINQ-Abfragen verbunden ist.



Daher führen wir Sie in diesem Tutorial durch alles, was Sie über das Erstellen und Arbeiten mit anonymen Objekten im C#-Ökosystem wissen müssen.





Erstellen Sie ein anonymes Objekt in C#

Beginnen wir mit der Diskussion, wie man anonyme Objekte in C# erstellt. Glücklicherweise ist dies eine einfache Technik, bei der das Schlüsselwort „new“ gefolgt von einem Objektinitialisierer verwendet wird. Ein Objektinitialisierer ist ein Paar geschweifter Klammern, das die Objekteigenschaften enthält.

Wir können das vorherige Objekt wie folgt in einer grundlegenden Syntax ausdrücken:



var anonym_obj = neu { prop1 = var1, prop2 = var2 } ;


Hier bezieht sich „prop“ auf die Eigenschaft und „var“ stellt den mit dieser Eigenschaft verbundenen Wert dar.

Beispielverwendung:

Betrachten Sie den folgenden Beispielcode, der mithilfe der anonymen Technik ein einfaches „Auto“-Objekt erstellt:

Verwenden des Systems;

Klassenprogramm
{
statische Leere Main ( )
{
var Auto = neu { Modell = „Benz“ , Jahr = 2023 , Kilometerstand = 2000 } ;
Console.WriteLine ( Auto Model ) ;

}
}


In diesem Beispiel erstellen wir ein anonymes Objekt namens „Auto“ mit drei Haupteigenschaften: Modell, Jahr und Kilometerstand. Anschließend geben wir die Eigenschaft „Model“ auf der Konsole aus.

Wie Sie vielleicht bemerken, haben wir keine „Auto“-Klasse mit den spezifischen Eigenschaften definiert. Wir haben die Objekte direkt mit den Eigenschaften instanziiert, die wir brauchten.

Schreibgeschützte Eigenschaften

Beachten Sie, dass alle Eigenschaften anonymer Objekte schreibgeschützt sind. Das bedeutet, dass wir den Wert einer anonymen Objekteigenschaft nicht ändern können.

Nehmen Sie das folgende Beispiel:

Verwenden des Systems;

Klassenprogramm
{
statische Leere Main ( )
{
var Auto = neu { Modell = „Benz“ , Jahr = 2023 , Kilometerstand = 2000 } ;
Console.WriteLine ( Auto Model ) ;

car.Model = „Honda“ ;
}
}


Wenn wir in diesem Fall versuchen, den vorherigen Code auszuführen, wird ein Fehler wie folgt zurückgegeben:

Eigenschaft oder Indexer ' .Model' nicht zuordenbar -- es ist lesen nur.

Verwendung anonymer Objekte als Rückgabewerte

Wir können die anonymen Objekte auch als Rückgabetypen und Parameter für C#-Methoden verwenden, die den dynamischen Typ verwenden.

Ein Beispiel ist wie folgt:

Verwenden des Systems;
Klassenprogramm
{
statische Leere Main ( Zeichenfolge [ ] args )
{
var car = GetCar ( ) ;
Console.WriteLine ( $ „Modell: {car.Model}, Jahr: {car.Year}, Kilometerstand: {car.Mileage}“ ) ;
}
öffentliches statisches dynamisches GetCar ( )
{
zurückkehren neu { Modell = „Benz“ , Jahr = 2023 , Kilometerstand = 2000 } ;
}
}


Im gegebenen Beispiel definieren wir die Methode GetCar(), die ein anonymes Objekt eines Autos mit den Eigenschaften Modell, Jahr und Kilometerstand zurückgibt.

HINWEIS: Wir verwenden den dynamischen Typ, um das anonyme Objekt zu speichern.

Die resultierende Ausgabe lautet wie folgt:

Modell: Benz, Jahr: 2023 , Kilometerstand: 2000


HINWEIS: Es ist zwar möglich, den Methoden die Rückgabe anonymer Daten zu erlauben, dies geht jedoch mit dem Verlust der Typsicherheit einher. Bevor Sie diese Technik implementieren, sollten Sie die Auswirkungen und potenziellen Anwendungsfälle Ihres Codes berücksichtigen.

Abschluss

In diesem Tutorial haben wir die nützlichsten Anwendungsfälle anonymer Objekte in C# besprochen. Wie in diesem Beitrag gezeigt, haben Sie erfahren, wie Sie anonyme Objekte nutzen können, um Objekte ohne Klassen zu erstellen.