.NET

Zaawansowane funkcje C#

Pattern matching, records, tuples, deconstruction, local functions, parametry ref/out

20 pytań z rozmów·
Mid-Level
1

Czym jest record w C#?

Odpowiedź

record to niezmienny typ referencyjny wprowadzony w C# 9, który zapewnia zwięzłą składnię do tworzenia typów danych z równością opartą na wartościach. W przeciwieństwie do zwykłych klas, które używają równości referencyjnej, record porównuje wartości swoich właściwości. Używaj record dla DTO, value object i typów niezmiennych, gdzie pożądana jest równość oparta na wartościach.

2

Jaka jest różnica między out a ref w C#?

Odpowiedź

Parametr out nie wymaga inicjalizacji przed wywołaniem metody, ale musi zostać przypisany w metodzie, podczas gdy ref wymaga inicjalizacji przed wywołaniem i może, ale nie musi być zmodyfikowany w metodzie. Oba przekazują przez referencję, ale out jest zoptymalizowany pod kątem zwracania wielu wartości, podczas gdy ref służy do modyfikacji istniejącej zmiennej. Używaj out dla metod zwracających wiele wyników, a ref gdy potrzebna jest modyfikacja istniejącej wartości.

3

Czym jest pattern matching w C#?

Odpowiedź

pattern matching to funkcja umożliwiająca testowanie wartości względem różnych wzorców (typów, wartości, właściwości) i wykonywanie kodu na podstawie dopasowanego wzorca. Wprowadzony w C# 7 i ulepszony w późniejszych wersjach, upraszcza złożone struktury warunkowe za pomocą switch expression, property pattern i type pattern. Używaj pattern matching, aby zastąpić złożone łańcuchy if-else i poprawić czytelność kodu.

4

Czym jest tuple w C# i jak go zadeklarować?

5

Czym jest local function w C#?

+17 pytań z rozmów

Opanuj .NET na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo