# Erweiterte C#-Funktionen (.NET) > Pattern matching, records, tuples, deconstruction, local functions, ref/out-Parameter - 20 Interview-Fragen - Mid-Level - [Interview-Fragen: .NET](https://sharpskill.dev/de/technologies/dotnet/interviewfragen.md) ## 1. Was ist ein record in C#? **Antwort** Ein record ist ein unveränderlicher Referenztyp, der in C# 9 eingeführt wurde und eine prägnante Syntax zum Erstellen von Datentypen mit wertbasierter Gleichheit bietet. Im Gegensatz zu normalen Klassen, die Referenzgleichheit verwenden, vergleichen records die Werte ihrer Eigenschaften. Verwende records für DTOs, Value Objects und unveränderliche Typen, bei denen wertbasierte Gleichheit gewünscht ist. ## 2. Was ist der Unterschied zwischen out und ref in C#? **Antwort** Der out-Parameter erfordert keine Initialisierung vor dem Methodenaufruf, muss aber in der Methode zugewiesen werden, während ref eine Initialisierung vor dem Aufruf erfordert und in der Methode geändert werden kann oder auch nicht. Beide werden per Referenz übergeben, aber out ist für die Rückgabe mehrerer Werte optimiert, während ref zum Ändern einer vorhandenen Variablen verwendet wird. Verwende out für Methoden, die mehrere Ergebnisse zurückgeben, und ref, wenn ein vorhandener Wert geändert werden muss. ## 3. Was ist pattern matching in C#? **Antwort** pattern matching ist eine Funktion, die es ermöglicht, einen Wert gegen verschiedene Muster (Typen, Werte, Eigenschaften) zu testen und Code basierend auf dem übereinstimmenden Muster auszuführen. Eingeführt in C# 7 und in späteren Versionen erweitert, vereinfacht es komplexe Bedingungsstrukturen mit switch expressions, property patterns und type patterns. Verwende pattern matching, um komplexe if-else-Ketten zu ersetzen und die Lesbarkeit des Codes zu verbessern. ## 17 weitere Fragen verfügbar - Was ist ein tuple in C# und wie deklariert man es? - Was ist eine local function in C#? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere .NET-Interviewthemen - [C#-Grundlagen](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/csharp-basics.md): 25 Fragen, Junior - [LINQ & Delegates](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/csharp-linq-delegates.md): 20 Fragen, Junior - [C#-Sprachgrundlagen](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/csharp-language-essentials.md): 15 Fragen, Junior - [ASP.NET Core Grundlagen](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/aspnet-core-fundamentals.md): 18 Fragen, Junior - [ASP.NET Core Request-Lebenszyklus](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/aspnet-core-request-lifecycle.md): 20 Fragen, Junior - [Configuration & Settings](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/configuration-settings.md): 20 Fragen, Junior - [Anwendungslebenszyklus](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/application-lifecycle.md): 20 Fragen, Junior - [Dependency Injection](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/dependency-injection.md): 24 Fragen, Mid-Level - [Entity Framework Core](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/entity-framework-core.md): 25 Fragen, Mid-Level - [Minimal APIs](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/minimal-apis.md): 18 Fragen, Mid-Level - [Web-API-Entwicklung](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/web-api-development.md): 22 Fragen, Mid-Level - [Async in ASP.NET Core](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/async-aspnet-core.md): 20 Fragen, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/authentication-authorization.md): 18 Fragen, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/httpclient-networking.md): 20 Fragen, Mid-Level - [JSON-Serialisierung](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/json-serialization.md): 20 Fragen, Mid-Level - [Entity Framework Core fortgeschritten](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/ef-core-advanced.md): 25 Fragen, Mid-Level - [Clean Architecture](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/clean-architecture.md): 20 Fragen, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/logging-monitoring.md): 22 Fragen, Mid-Level - [Unit-Tests & xUnit](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/unit-testing-xunit.md): 20 Fragen, Mid-Level - [Integrationstests](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/integration-testing.md): 18 Fragen, Mid-Level - [Docker & Containerization](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/docker-containerization.md): 16 Fragen, Mid-Level - [NuGet Package Management](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/nuget-package-management.md): 16 Fragen, Mid-Level - [Memory Management & GC](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/memory-management-gc.md): 22 Fragen, Senior - [Reaktive Programmierung](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/reactive-programming.md): 24 Fragen, Senior - [Async/await & Patterns](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/async-await-patterns.md): 26 Fragen, Senior - [.NET Design Patterns](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/dotnet-design-patterns.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Sicherheit & Best Practices](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/security-best-practices.md): 24 Fragen, Senior - [SignalR & Echtzeit](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/signalr-realtime.md): 22 Fragen, Senior - [Microservices-Architektur](https://sharpskill.dev/de/technologies/dotnet/interviewfragen/microservices-architecture.md): 25 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/dotnet/interviewfragen/csharp-advanced-features