Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C# 7: Neue Funktionen

Ref Locals und Ref Returns

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der ref-Modifier wird oft genutzt, um einer Methode Value Types mitzugeben und von dort auch Änderungen zurückzubekommen. Seit C# 7.0 können Sie ihn auch für lokale Variablen und die Deklaration von Returns verwenden und dadurch „unsafe Code“ vermeiden.
04:59

Transkript

Der Ref Modifier wird bei Parametern oft eingesetzt, um Value Types nicht nur einer Methode mitzugeben, sondern von dort auch Änderungen zurückzubekommen. Neu ist dieser Modifier aber bei lokalen Variablen und bei der Deklaration von Returns. In diesem Video sehen Sie, wie der Ref Modifier bei lokalen Variablen und Returns verwendet werden kann und warum das weniger unsafe Code bedeutet. In der Methode RefLocalsAndRefReturns deklariere ich ein simples Integer Array namens data, welches initialisiert wird mit den Werten 1, 2, 3, 4. Um auf Array-Elemente zuzugreifen, definiere ich noch eine Methode GetArrayElement, die als Parameter das Array selbst und einen Index dort hinein bekommt. Ich gebe hier 2 mit, um das dritte Element anzusprechen. Eine Implementierung dieser Methode. Zuerst implementiere ich diese Methode, wie wir es bisher machen konnten. Die Variable v ändere ich noch auf den Namen index. Ich hole mir ein Integer-Element heraus, aus data[index]. Genau diesen Wert liefere ich von dieser Methode zurück. Dann geben wir dieses Ergebnis auf der Konsole aus. Ich verwende dazu wieder String Interpolation, "received: a1". Als Nächstes ändere ich den Wert dieser Variable 1 auf den Wert 42. Jetzt schauen wir uns die neuen Werte an. Zuerst a1. Danach data[2]. Wie sieht es mit dem originalen Array aus, diesem einen Element, das ich mir herausgeholt habe. Starten wir das Programm. Und wie erwartet ist das neue a1: 42, während das Element im Array noch immer den Wert 3 hat. Wir haben eine Kopie by value durchgeführt. Als Nächstes ändere ich die Implementierung dieser Methode GetArrayElement und deklariere den Return mit dem ref Modifier. Auch diese lokale Variable ref int x ist gleich ref von data. Und ein return von einer Referenz auf x. Ich kann den Aufruf dieser Methode belassen, wie er ist. Starten wir das Programm nochmal. Im Ergebnis hat sich jetzt nichts geändert. Wir haben in der Variable a1 eine lokale Kopie bekommen und nur diese Kopie geändert. In den Originaldaten im Array hat sich nichts getan. Jetzt kann ich aber auch den Aufruf ändern. Ich rufe diese Methode by reference auf und deklariere die Variable a1 auf eine Referenz des Wertes, den ich da bekommen habe. Wenn ich das Programm jetzt nochmal starte, Start haben wir jetzt mit dieser Änderung, a1 = 42, auch den Wert im originalen Array geändert. Diese Funktionalität ref bei lokalen Variablen und beim Return wird in neuen Libraries genutzt, wo direkt schnell auf Memory zugegriffen werden muss. Bisher haben wir dafür int-Poitner gebraucht und unsafe Codeblocks. Das ist jetzt nicht mehr notwendig. Jetzt haben wir keinen unsafe Code in diesem Szenario. Der Modifier ref erspart uns oft unsafe Code.

C# 7: Neue Funktionen

Entdecken und nutzen Sie die mit der neuen Version 7 hinzugekommenen Features der mächtigen Programmiersprache C#.

1 Std. 34 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
C# C# 7
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.03.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!