Die 50 wichtigsten C#-Interviewfragen und -antworten (2026)
Fragen und Antworten zu C#-Interviews fรผr Erstsemester und 2/3/5/10 Jahre Erfahrung
Hier finden Sie Fragen und Antworten zu C#-Vorstellungsgesprรคchen fรผr neue und 5 oder 10 Jahre erfahrene Kandidaten, die ihren Traumjob bekommen mรถchten.
1) Was ist C#?
C# ist eine objektorientierte, typsichere und verwaltete Sprache, die zum Generieren vom .Net-Framework kompiliert wird Microsoft Mittelstufe.
๐Kostenloser PDF-Download: Fragen und Antworten zu C#-Interviews
2) Erklรคren Sie die Arten von Kommentaren in C# mit Beispielen
Einzelne Zeile
Ejemplo:
//This is a single line comment
ii. Mehrere Zeilen (/* */)
Ejemplo:
/*This is a multiple line comment We are in line 2 Last line of comment*/
iii. XML-Kommentare (///).
Ejemplo:
/// summary; /// Set error message for multilingual language. /// summary
3) Kรถnnen mehrere Catch-Blรถcke ausgefรผhrt werden?
Nein, mehrere Catch-Blรถcke gleichen Typs kรถnnen nicht ausgefรผhrt werden. Sobald der richtige Catch-Code ausgefรผhrt wurde, wird die Steuerung an den โfinallyโ-Block รผbertragen und anschlieรend wird der Code ausgefรผhrt, der auf den โfinallyโ-Block folgt.
4) Was ist der Unterschied zwischen public, static und void?
รffentlich deklarierte Variablen oder Methoden sind รผberall in der Anwendung zugรคnglich. Auf statisch deklarierte Variablen oder Methoden kann global zugegriffen werden, ohne dass eine Instanz der Klasse erstellt werden muss. Auf statische Mitglieder kann standardmรครig nicht global zugegriffen werden. Dies hรคngt von der verwendeten Zugriffsart ab. Der Compiler speichert die Adresse der Methode als Einstiegspunkt und verwendet diese Informationen, um mit der Ausfรผhrung zu beginnen, bevor Objekte erstellt werden. Und Void ist ein Typmodifikator, der angibt, dass die Methode oder Variable keinen Wert zurรผckgibt.
C#-Interviewfragen
5) Was ist ein Objekt?
Ein Objekt ist eine Instanz einer Klasse, รผber die wir auf die Methoden dieser Klasse zugreifen. Das Schlรผsselwort โNeuโ wird zum Erstellen eines Objekts verwendet. Eine Klasse, die ein Objekt im Speicher erstellt, enthรคlt Informationen รผber die Methoden, Variablen und das Verhalten dieser Klasse.
6) Konstruktoren definieren
Ein Konstruktor ist eine Mitgliedsfunktion in einer Klasse, die denselben Namen wie ihre Klasse hat. Der Konstruktor wird automatisch aufgerufen, wenn eine Objektklasse erstellt wird. Beim Initialisieren der Klasse werden die Werte der Datenelemente erstellt.
7) Was sind Jagged Arrays?
Das Array, das Elemente vom Typ Array enthรคlt, wird Jagged Array genannt. Die Elemente kรถnnen unterschiedliche Abmessungen und Grรถรen haben. Wir kรถnnen Jagged Array auch als Array von Arrays bezeichnen.
8) Was ist der Unterschied zwischen Ref- und Out-Parametern?
Ein als ref รผbergebenes Argument muss vor der รbergabe an die Methode initialisiert werden, wรคhrend der Parameter out vor der รbergabe an eine Methode nicht initialisiert werden muss.
9) Wozu dient die โusingโ-Anweisung in C#?
Der โusingโ-Block wird verwendet, um eine Ressource abzurufen und zu verarbeiten und dann automatisch zu entsorgen, wenn die Ausfรผhrung des Blocks abgeschlossen ist.
10) Was ist Serialisierung?
Wenn wir ein Objekt durch ein Netzwerk transportieren mรถchten, mรผssen wir das Objekt in einen Bytestrom umwandeln. Der Prozess der Konvertierung eines Objekts in einen Bytestrom wird Serialisierung genannt. Damit ein Objekt serialisierbar ist, sollte es ISerialize Interface implementieren. Deserialisierung ist der umgekehrte Prozess der Erstellung eines Objekts aus einem Bytestrom.
11) Kรถnnen wir โdiesenโ Befehl innerhalb einer statischen Methode verwenden?
Wir kรถnnen โThisโ nicht in einer statischen Methode verwenden, da wir in einer statischen Methode nur statische Variablen/Methoden verwenden kรถnnen.
12) Was ist der Unterschied zwischen Konstanten und schreibgeschรผtzt?
Konstante Variablen werden zur Kompilierzeit deklariert und initialisiert. Der Wert kann nachtrรคglich nicht mehr geรคndert werden. Schreibgeschรผtzt wird nur verwendet, wenn wir den Wert zur Laufzeit zuweisen mรถchten.
13) Was ist eine Schnittstellenklasse? Nennen Sie ein Beispiel dafรผr
Eine Schnittstelle ist eine absolutetract-Klasse, die nur รถffentliche absolute Werte hattract-Methoden, und die Methoden haben nur die Deklaration, nicht aber die Definition. Diese AbstracDie t-Methoden mรผssen in den geerbten Klassen implementiert werden.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
interface Guru99Interface
{
void SetTutorial(int pID, string pName);
String GetTutorial();
}
class Guru99Tutorial : Guru99Interface
{
protected int TutorialID;
protected string TutorialName;
public void SetTutorial(int pID, string pName)
{
TutorialID = pID;
TutorialName = pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Guru99Tutorial pTutor = new Guru99Tutorial();
pTutor.SetTutorial(1,".Net by Guru99");
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
}
14) Was sind Werttypen und Referenztypen?
Ein Werttyp speichert einen Datenwert in seinem eigenen Speicherbereich. Beispiel
int a = 30;
Der Referenztyp speichert die Adresse des Objekts, in dem der Wert gespeichert wird. Es ist ein Zeiger auf einen anderen Speicherort.
string b = "Hello Guru99!!";
15) Was sind benutzerdefinierte Kontrolle und Benutzerkontrolle?
Benutzerdefinierte Steuerelemente sind Steuerelemente, die als kompilierter Code (DLLs) generiert werden. Sie sind einfacher zu verwenden und kรถnnen zur Toolbox hinzugefรผgt werden. Entwickler kรถnnen Steuerelemente per Drag & Drop in ihre Webformulare ziehen. Attribute kรถnnen zur Entwurfszeit hinzugefรผgt werden. Wir kรถnnen benutzerdefinierte Steuerelemente problemlos zu mehreren Anwendungen hinzufรผgen (wenn es sich um gemeinsam genutzte DLLs handelt). Wenn sie also privat sind, kรถnnen wir sie als DLL in das Bin-Verzeichnis der Webanwendung kopieren, dann eine Referenz hinzufรผgen und sie verwenden.
Benutzersteuerelemente sind ASP-Includedateien sehr รคhnlich und lassen sich einfach erstellen. Benutzersteuerelemente kรถnnen nicht in die Toolbox eingefรผgt und per Drag & Drop daraus verschoben werden. Sie haben ihr eigenes Design und ihren eigenen Code-Behind. Die Dateierweiterung fรผr Benutzersteuerelemente lautet ascx.
16) Was sind versiegelte Klassen in C#?
Wir erstellen versiegelte Klassen, wenn wir die zu vererbende Klasse einschrรคnken mรถchten. Versiegelter Modifikator, der verwendet wird, um die Ableitung von einer Klasse zu verhindern. Wenn wir eine versiegelte Klasse zwangsweise als Basisklasse angeben, tritt ein Fehler bei der Kompilierung auf.
17) Was ist Methodenรผberladung?
Beim รberladen von Methoden werden mehrere Methoden mit demselben Namen und eindeutigen Signaturen in derselben Klasse erstellt. Beim Kompilieren verwendet der Compiler die รberladungsauflรถsung, um die spezifische aufzurufende Methode zu bestimmen.
18) Was ist der Unterschied zwischen Array und Arraylist?
In einem Array kรถnnen wir nur Elemente desselben Typs haben. Die Grรถรe des Arrays ist beim Vergleich festgelegt. Eine Arrayliste รคhnelt einem Array, hat jedoch keine feste Grรถรe.
19) Kann eine private virtuelle Methode รผberschrieben werden?
Nein, da sie auรerhalb der Klasse nicht zugรคnglich sind.
20) Beschreiben Sie den Barrierefreiheitsmodifikator โprotected internalโ.
Auf geschรผtzte interne Variablen/Methoden kann innerhalb derselben Assembly und auch von den Klassen zugegriffen werden, die von dieser รผbergeordneten Klasse abgeleitet sind.
21) Was sind die Unterschiede zwischen den Klassen System.String und System.Text.StringBuilder?
System.String ist unverรคnderlich. Wenn wir den Wert einer String-Variable รคndern, wird dem neuen Wert neuer Speicher zugewiesen und die vorherige Speicherzuweisung freigegeben. System.StringBuilder wurde mit dem Konzept eines verรคnderlichen Strings entwickelt, bei dem eine Vielzahl von Operationen ausgefรผhrt werden kรถnnen, ohne dass dem geรคnderten String ein separater Speicherort zugewiesen werden muss.
22) Was ist der Unterschied zwischen System.Array.CopyTo() und System.Array.Clone()?
Die Verwendung von Clone() Mit der Methode erstellen wir ein neues Array-Objekt, das alle Elemente im ursprรผnglichen Array enthรคlt und verwendet CopyTo() Methode. Alle Elemente eines vorhandenen Arrays werden in ein anderes vorhandenes Array kopiert. Beide Methoden fรผhren eine flache Kopie durch.
23) Wie kรถnnen wir die Elemente des Arrays in absteigender Reihenfolge sortieren?
Die Verwendung von Sort() Methoden gefolgt von Reverse() Methode.
24) Notieren Sie sich die C#-Syntax, um eine Ausnahme abzufangen
Um eine Ausnahme abzufangen, verwenden wir Try-Catch-Blรถcke. Der Catch-Block kann einen Parameter vom Typ system.Exception haben.
Z.B:
try {
GetAllData();
}
catch (Exception ex) {
}
Im obigen Beispiel kรถnnen wir den Parameter in der Catch-Anweisung weglassen.
25) Was ist der Unterschied zwischen einer Schnittstelle und einem ABS?tract-Klasse?
Schnittstellen enthalten alle Methoden, die nur deklariert, aber nicht definiert sind. In einem absolutentracIn einer t-Klasse kรถnnen wir einige konkrete Methoden haben. In einer Schnittstellenklasse sind alle Methoden รถffentlich. Eine absolutetracDie Klasse t kann private Methoden haben.
26) Was ist der Unterschied zwischen den Methoden Finalize() und Dispose()?
Dispose() wird aufgerufen, wenn wir mรถchten, dass ein Objekt alle nicht verwalteten Ressourcen mit ihm freigibt. Andererseits, Finalize() wird fรผr den gleichen Zweck verwendet, gewรคhrleistet jedoch nicht die Garbage Collection eines Objekts.
27) Was sind Zirkelverweise?
Ein Zirkelverweis ist eine Situation, in der zwei oder mehr Ressourcen voneinander abhรคngig sind, was zu einem Sperrzustand fรผhrt und die Ressourcen unbrauchbar macht.
28) Was sind Generika in C#.NET?
Generika werden verwendet, um wiederverwendbare Codeklassen zu erstellen, die die Coderedundanz verringern und die Typensicherheit sowie die Leistung erhรถhen. Mit Generika kรถnnen wir Sammlungsklassen erstellen. Um eine generische Sammlung zu erstellen, sollte der Namespace System.Collections.Generic anstelle von Klassen wie ArrayList im Namespace System.Collections verwendet werden. Generika fรถrdern die Verwendung parametrisierter Typen.
29) Was ist ein Objektpool in .NET?
Ein Objektpool ist ein Container mit Objekten, die zur Verwendung bereitstehen. tracks ist das aktuell verwendete Objekt, die Gesamtzahl der Objekte im Pool. Dies reduziert den Aufwand fรผr das Erstellen und Neuerstellen von Objekten.
30) Listen Sie die hรคufig verwendeten Ausnahmetypen in .net auf
ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IndexOutOfRangeException, InvalidCastException, InvalidOperationException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException usw.
31) Was sind benutzerdefinierte Ausnahmen?
Manchmal gibt es einige Fehler, die entsprechend den Benutzeranforderungen behandelt werden mรผssen. Fรผr sie werden benutzerdefinierte Ausnahmen verwendet und definierte Ausnahmen verwendet.
32) Was sind Delegierte?
Delegierte sind gleich sind Funktionszeiger in C++, aber der einzige Unterschied besteht darin, dass sie im Gegensatz zu Funktionszeigern typsicher sind. Delegaten sind erforderlich, da sie zum Schreiben viel allgemeinerer typsicherer Funktionen verwendet werden kรถnnen.
33) Wie vererbt man eine Klasse in eine andere Klasse in C#?
Der Doppelpunkt wird in C# als Vererbungsoperator verwendet. Setzen Sie einfach einen Doppelpunkt und dann den Klassennamen.
public class DerivedClass : BaseClass
34) Was ist die Basisklasse in .net, von der alle Klassen abgeleitet sind?
System.Object
35) Was ist der Unterschied zwischen Methodenรผberschreibung und Methodenรผberladung?
Beim รberschreiben von Methoden รคndern wir die Methodendefinition in der abgeleiteten Klasse, wodurch sich das Methodenverhalten รคndert. Beim รberladen von Methoden wird eine Methode mit demselben Namen innerhalb derselben Klasse und unterschiedlichen Signaturen erstellt.
36) Auf welche verschiedenen Arten kann eine Methode รผberladen werden?
Methoden kรถnnen mit unterschiedlichen Datentypen fรผr einen Parameter, unterschiedlicher Reihenfolge der Parameter und unterschiedlicher Anzahl von Parametern รผberladen werden.
37) Warum kรถnnen Sie den Barrierefreiheitsmodifikator fรผr Methoden innerhalb der Schnittstelle nicht angeben?
In einer Schnittstelle haben wir virtuelle Methoden, die keine Methodendefinition haben. Alle Methoden sind dazu da, in der abgeleiteten Klasse รผberschrieben zu werden. Deshalb sind sie alle รถffentlich.
38) Wie kรถnnen wir die Klasse so einstellen, dass sie vererbt wird, aber verhindern, dass die Methode รผberschrieben wird?
Deklarieren Sie die Klasse als รถffentlich und versiegeln Sie die Methode, um zu verhindern, dass sie รผberschrieben wird.
39) Was passiert, wenn die geerbten Schnittstellen widersprรผchliche Methodennamen haben?
Die Implementierung liegt bei Ihnen, da sich die Methode in Ihrer eigenen Klasse befindet. Es kann ein Problem geben, wenn die Methoden verschiedener Schnittstellen unterschiedliche Daten erwarten, aber was den Compiler betrifft, ist alles in Ordnung.
40) Was ist der Unterschied zwischen einer Struktur und einer Klasse?
Strukturen sind Werttypvariablen, und Klassen sind Referenztypen โ eine Unterscheidung, die hรคufig auftaucht in OOPS-InterviewfragenStrukturen, die auf dem Stack gespeichert werden, verursachen zwar zusรคtzlichen Aufwand, ermรถglichen aber einen schnelleren Abruf und kรถnnen nicht vererbt werden.
41) Wie verwende ich nullfรคhige Typen in .Net?
Werttypen kรถnnen entweder ihre Normalwerte oder einen Nullwert annehmen. Solche Typen werden als nullbare Typen bezeichnet.
Int? someID = null;
If(someID.HasVAlue)
{
}
42) Wie kรถnnen wir ein Array mit nicht standardmรครigen Werten erstellen?
Mit Enumerable.Repeat kรถnnen wir ein Array mit nicht standardmรครigen Werten erstellen.
43) Was ist der Unterschied zwischen den Operatoren โisโ und โasโ in C#?
Der Operator โisโ wird verwendet, um die Kompatibilitรคt eines Objekts mit einem bestimmten Typ zu รผberprรผfen und gibt das Ergebnis als Boolean zurรผck.
Der Operator โasโ wird zum Konvertieren eines Objekts in einen Typ oder eine Klasse verwendet.
44) Was ist ein Multicast-Delegat?
Ein Delegat, dem mehrere Handler zugewiesen sind, wird Multicast-Delegat genannt. Jeder Handler ist einer Methode zugeordnet.
45) Was sind Indexer in C# .NET?
Indexer werden als intelligent bezeichnet Arrays in C#. Es ermรถglicht die Indizierung der Instanzen einer Klasse auf die gleiche Weise wie ein Array.
Z.B:
public int this[int index] // Indexer declaration
46) Was ist der Unterschied zwischen โthrowโ und โthrow exโ in .NET?
Die โthrowโ-Anweisung behรคlt den ursprรผnglichen Fehlerstapel bei, wรคhrend โthrow exโ den Stapel beibehรคlt. trace von ihrem Abwurfpunkt aus. Es wird stets empfohlen, โAbwurfโ zu verwenden, da dies genauere Fehlerinformationen liefert.
47) Was sind C#-Attribute und ihre Bedeutung?
C# bietet Entwicklern eine Mรถglichkeit, deklarative Tags fรผr bestimmte Entitรคten zu definieren, z. Klasse, Methode usw. werden als Attribute bezeichnet. Die Informationen des Attributs kรถnnen zur Laufzeit mithilfe von Reflection abgerufen werden.
48) Wie implementiert man ein Singleton-Entwurfsmuster in C#?
In einem Singleton-Muster kann eine Klasse nur eine Instanz haben und stellt global einen Zugriffspunkt darauf bereit.
Z.B:
Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}
49) Was ist der Unterschied zwischen Directcast und CType?
DirectCast wird verwendet, um den Objekttyp zu konvertieren, der erfordert, dass der Laufzeittyp mit dem angegebenen Typ in DirectCast รผbereinstimmt.
Ctype wird zur Konvertierung verwendet, wobei die Konvertierung zwischen dem Ausdruck und dem Typ definiert wird.
50) Ist C#-Code verwalteter oder nicht verwalteter Code?
C# ist verwalteter Code, da die Common Language Runtime C#-Code in eine Intermediate-Sprache kompilieren kann.
51) Was ist eine Konsolenanwendung?
Eine Konsolenanwendung ist eine Anwendung, die in der Eingabeaufforderung in ausgefรผhrt werden kann Windows. Fรผr alle Anfรคnger auf .Net, ist die Erstellung einer Konsolenanwendung idealerweise zunรคchst der erste Schritt.
52) Geben Sie ein Beispiel fรผr das Entfernen eines Elements aus der Warteschlange
Die Dequeue-Methode wird verwendet, um ein Element aus der Warteschlange zu entfernen.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
foreach (Object obj in qt)
{
Console.WriteLine(obj);
}
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("The number of elements in the Queue " + qt.Count);
Console.WriteLine("Does the Queue contain " + qt.Contains(3));
Console.ReadKey();
}
}
}
Diese C#- und verwandten WPF-Interviewfragen wird Ihnen auch bei Ihrer mรผndlichen Prรผfung helfen.
