C# „Ref”

C# „Ref”
Pracując w programowaniu, zwykle stosujemy jak najwięcej metod do wykonywania różnych operacji za pomocą różnych wartości zmiennych. Wartości te są w większości przekazywane do innych metod do celów obliczeń w programowaniu. Mówi się, że jedna z tych metod wykonania podania wartości jest „przekazywana przez odniesienie”. Odwołuje się, że dokładne odniesienie adresu pamięci zmiennej zostanie przekazane w argumentach metody zamiast po prostu przekazywania wartości tworzenia repliki. Dzięki przekazaniu wartości przez odniesienie zapewniamy, że zmiany zostaną wprowadzone do oryginalnej zmiennej. Dlatego opracowaliśmy ten przewodnik C#, aby wykorzystać słowo kluczowe obiektu C# „Ref”, aby wykonać przekazanie wartości, odwołując się do Ubuntu 20.04. Rozpoczniemy naszą implementację, tworząc nowy plik kodu do nazywania go „Ref.CS ”z zapytaniem„ dotyk ”, jak przedstawiono na małym zrzucie ekranu poniżej.

Przykład 01

Teraz, gdy plik jest już utworzony, otworzymy go w edytorze tekstu. Zacznijmy od pierwszej przykładowej ilustracji, która użyć słowa kluczowego „Ref” w kodzie. Używamy więc struktury standardowej C# dla kodu, która obejmuje użycie biblioteki „systemu”, niektórych przestrzeni nazw, klasy i jej funkcji. Nazwaliśmy przestrzeń nazw „testem” i nazwaliśmy również klasą „testem”. W tej klasie wykorzystaliśmy dwie proste metody C#. Jednym z nich jest funkcja wbudowana, main (), a druga to nowo wykonana funkcja zdefiniowana przez użytkownika „Modyfikuj”.

Jak wszyscy wiemy, wykonanie programu zawsze inicjuje się od początku metody main (. Kiedy wykonujemy kod, funkcja main () jest wykonywana najpierw. Zaraz po rozpoczęciu egzekucji inicjalizacja zmiennej „V” została wykonana i przypisała wartość 20. Nadchodzi klasa „konsoli” C#, która zapewnia nam funkcję „Writeline”, aby wyświetlić dane jako wyjście na ekranie. Użyliśmy tej funkcji, aby wyświetlić wartość zmiennej „v” w naszej powładzie w ciągu sekundy. Po wyświetleniu wartości zmiennej „V” przekazaliśmy tę zmienną jako odniesienie do funkcji „Modyfikuj” słowem kluczowym „Ref”.

Teraz wszelkie zmiany zostaną wprowadzone w funkcji modyfikującej również odzwierciedla zmiany w zmiennej „v”. Kiedy spojrzymy na funkcję „Zmodyfikuj”, dowiedzieliśmy się, że używa ona również słowa kluczowego „Ref” z nowo wykonaną zmienną „N” w argumencie. Ta zmienna „N” odwołuje się do adresu pamięci zmiennej „V” z funkcji Main (). Wartość „N” zostanie podzielona przez 3 i zapisana na zmienną „N”, i.mi. Ostatecznie wartość „v” zostanie tutaj użyta. W funkcji modyfikującej zastosowaliśmy funkcję „writeLine ()” klasy konsoli, aby wyświetlić wartość „n” podczas wykonywania funkcji „modyfikuj”. Ponieważ kontrola została podana do Main (), ostatnia funkcja WriteLine () wyświetli zaktualizowaną wartość zmiennej „V”.

Musimy mieć kompilator „MCS” i „Mono” Runtime dla C# zainstalowany na Ubuntu 20.04 System. Próbowaliśmy użyć polecenia kompilatora „MCS”, aby skompilować ten kod. Utworzono plik „exe” kodu i próbowaliśmy go wykonać za pomocą instrukcji „mono”. Okazuje się, że pierwotna wartość zmiennej „V” wynosi 20, a po wykonaniu funkcji modyfikującej staje się 6 w funkcji „Modyfikuj” i z powrotem w funkcji Main ().

Przykład 02

Rzućmy okiem na kolejny prosty przykład, aby użyć słowa kluczowego „Ref” do wykonywania przekazania wartości przez odniesienie. Tym razem będziemy aktualizować nasz kod, dodając 3 funkcje w klasie „test” w kodzie C#. W ramach metody tego programu na początku zainicjowaliśmy dwie zmienne całkowitowe, i.mi. X i y. Obie zmienne całkowite zawierają te same wartości, i.mi. 7. Próbowaliśmy wyświetlić wartości obu zmiennych x i y z funkcją „writeline ()” klasy konsoli z biblioteki systemowej.

Pierwsza funkcja zdefiniowana przez użytkownika, „Add1”, jest wywoływana przez przekazanie jej wartości „x”. W ramach tej funkcji dodaliśmy 7 do pierwotnej wartości x. Po powrocie ponownie wyświetlimy wartość „x” po aktualizacji. Funkcja „Add2” jest wywoływana przez przekazywanie zmiennej „Y” jako odwołujące się do słowa kluczowego „Ref”. To samo dodanie 7 zostało dokonane w tej implementacji funkcji, a słowo kluczowe „Ref” jest używane w wierszu deklaracji funkcji. Po powrocie do main () wartość „y” została wyświetlona przy użyciu funkcji „writeLine ()” po tej aktualizacji. Najpierw zapiszmy ten kod, a następnie uruchom go.

Opracowywane przez zapytanie „MC” C# i wykonane przez czas wykonawczy „mono”, otrzymaliśmy dane wyjściowe w prezentacji. Wartość „Y” jest aktualizowana, ponieważ używano „ref”, gdy „x” pozostało niezmienione.

Przykład 03

W ramach naszej ostatniej ilustracji będziemy korzystać z testu dwóch klas i „nowego”. „Nowa” klasa rozpoczęła się od funkcji Main () i zainicjowała obiekt „T” dla klasy „Test”. Klasa „testowa” zawiera deklarację dwóch zmiennych prywatnych „, x” i „y” i zawiera sparametryzowany konstruktor „, test”, inicjalizację zmiennych „x” i „y”. Po utworzeniu obiektu „t” konstruktor klasy „test” automatycznie zostaje wykonywany. Ponieważ ten konstruktor jest parametryzowany, przekazaliśmy go wartościom podczas tworzenia obiektu. Wartości te są zapisywane na zmiennych „x” i „y”.

Teraz przekazaliśmy obiekt „t” jako odniesienie do funkcji „zmodyfikuj” klasy „test” za pomocą słowa kluczowego „Ref”. Funkcja Modify () używa słowa kluczowego „Ref”, aby uzyskać obiekt klasy „test” jako „obj” i używa tego obiektu do zwiększenia wartości zmiennej „x” i zmiennej „y” przez 5. Po powrocie do funkcji „nowej” klasy (nowej ”, funkcji systemu WriteLine ().Klasa konsoli służy do wyświetlania, że ​​zaktualizowaliśmy obiekt i do wyświetlania zaktualizowanych wartości. W ostatniej instrukcji funkcji „writeLine ()” używamy obiektu „t” do wywołania funkcji „getX” i „gety” z klasy „test”, aby wyświetlić zaktualizowane wartości. Patrząc na funkcje „getX ()” i „gety ()” z klasy „test”, doszliśmy do wniosku, że oba zawierają instrukcję zwrotu, aby zwrócić swoją konkretną wartość zmienną, i.mi. „X” i „Y”. Zobaczmy wyjście tego skryptu po jego zapisaniu.

Po wykonaniu kodu dowiedzieliśmy się, że wartości zmiennych „x” i „y” zostały pomyślnie zwiększone po przekazaniu obiektów jako odniesienia za pomocą słowa kluczowego „Ref”.

Wniosek

Ten artykuł jest wykorzystywany do wyjaśnienia celu użycia słowa kluczowego „Ref” w programowaniu C#. Omówiliśmy pierwsze dwa proste przykłady C#, aby wykonać wartość zmienną przekazującą drugą metodę poprzez koncepcję przekazywania wartości poprzez odniesienie przez „Ref”. Ostatnim przykładem polega na przekazaniu obiektu klasy jako odniesienia do jakiejś metody innej klasy za pomocą słowa kluczowego „Ref”. Wszystkie przykłady mają tę samą koncepcję z kilkoma zwrotami akcji i różnymi obliczeniami.