Heim >Backend-Entwicklung >C#.Net-Tutorial >Teilen Sie 125 grundlegende C#-Interviewfragen und -antworten

Teilen Sie 125 grundlegende C#-Interviewfragen und -antworten

怪我咯
怪我咯Original
2017-04-07 10:36:292642Durchsuche

Im Folgenden finden Sie eine Liste mit 125 grundlegenden C#-Interviewfragen und -antworten. Diese Interviewfragen sind einfach, unkompliziert und decken die grundlegendsten Konzepte von C# ab, von denen sich die meisten auf Konzepte beziehen, die sich an Objekten orientieren. Wenn Sie sich also auf ein C#-Interview vorbereiten, empfehle ich Ihnen, diese 125 grundlegenden C#-Interviewfragen und -antworten zu beherrschen, um Ihre C#-Konzepte zu überprüfen. Werfen wir nun einen Blick auf diese Liste mit 125 wichtigen C#-Interviewfragen und -antworten.

1. Was ist C#?

C# (ausgesprochen „C Sharp“) ist eine einfache, sich von herkömmlichen, objektorientierten, typsicheren Programmiersprachen unterscheidende Programmiersprache. C- und C++-Programmierer werden sich schnell damit vertraut machen. Die hochproduktive Sprache Rapid Application Development (RAD) ist in C# zusammengefasst.

2. Welche Annotationstypen gibt es in C#?

In C# gibt es drei Annotationstypen.
Einzeilige (//)
Mehrere Zeilen (/* */)
Seiten-/XML-Kommentare (///).

3. Welche Namespaces werden in C#.NET verwendet?

Ein Namespace ist eine logische Gruppierung von Typen.
mit System;
mit System.Collections.Generic;
mit System.Windows.Forms;

4. Was sind die Merkmale von C#?

C# hat die folgenden Eigenschaften:

Einfach
Typsicherheit
Flexibel
Objektorientiert
Kompatibel
Persistenz
Interoperabilität
Anders von traditionell

5. Welche verschiedenen Kategorien der Vererbung gibt es?

Vier Arten der Vererbung in der objektorientierten Programmierung:

Einzelvererbung: Enthält eine Basisklasse und eine abgeleitete Klasse.

Hierarchische Vererbung: Einschließlich einer Basisklasse und abgeleiteter Klassen, die von derselben Basisklasse erben.

Mehrstufige Vererbung: Beinhaltet Klassen, die von einer abgeleiteten Klasse abgeleitet sind.

Mehrfachvererbung: umfasst mehrere Basisklassen und eine abgeleitete Klasse.

6. Was sind die Grundkonzepte der objektorientierten Programmierung?

Es ist notwendig, einige Konzepte zu verstehen, die in der objektorientierten Programmierung weit verbreitet sind. Dazu gehören:

Objekt
Klasse
Datenabstraktion und -kapselung
Vererbung
Polymorphismus
Dynamische Bindung
Informationsweitergabe.

7. Können Sie mehrere Schnittstellen erben?

Ja. In C# ist es möglich, mehrere Schnittstellen zu erben.

8. Was ist Vererbung?

Vererbung ist eine neue Klasse, die von einer vorhandenen Klasse abgeleitet wird.

9. Umfang definieren?

Bereich bezieht sich auf den Bereich im Code, in dem auf eine Variable zugegriffen werden kann.

10. Was sind die Unterschiede zwischen public, static und void?

public: Das Schlüsselwort public ist ein Zugriffsmodifikator, der dem C#-Compiler mitteilt, dass die Hauptmethode (Main) von jedem aufgerufen werden kann.

statisch: Das Schlüsselwort static gibt an, dass die Hauptmethode eine globale Methode ist und ohne Klasseninstanz aufgerufen werden kann. Der Compiler speichert die Adresse der Methode als Einstiegspunkt und verwendet diese Informationen, um mit der Ausführung zu beginnen, bevor Objekte erstellt werden.

void: Das Schlüsselwort void ist ein Typmodifikator, der angibt, dass die Hauptmethode keinen Wert zurückgibt.

11. Was sind die Modifikatoren in C#?

Abstract
Sealed
Virtual
Const
Event
Extern
Override
Readonly
Static
New

12 . Welche Arten von Zugriffsmodifikatoren gibt es in C#?

Die Zugriffsmodifikatoren in C# sind:

public
protect
private
internal
internal protected

13. Was ist Boxen und Unboxing? ?

Der Variablenwerttyp wird implizit in den Referenztyp konvertiert und wird zum Boxing, z. B. die Typkonvertierung von Ganzzahl in Objekt.

Die Konvertierung von Referenztypvariablen zurück in Werttypen wird zum Unboxing.

14. Was ist das Objekt?

Objekte sind Instanzen von Klassen. Objekte werden mit der neuen Operation erstellt. Eine Klasse erstellt ein Objekt im Speicher, das Informationen über die Werte und das Verhalten (oder Methoden) des spezifischen Objekts enthält.

15. Welche Arten von Arrays gibt es in C#?

Eindimensionales Array(Eindimensional)
Mehrdimensionales Array(Mehrdimensional)
Gezackte Arrays.

16. Was ist der Unterschied zwischen Objekten und Instanzen?

Eine Instanz eines benutzerdefinierten Typs wird als Objekt bezeichnet. Wir können viele Objekte aus einer Klasse instanziieren.

Objekte sind Instanzen von Klassen.

17. Destruktoren definieren?

Der Destruktor wird aufgerufen, wenn das Klassenobjekt den Gültigkeitsbereich verlässt oder explizit gelöscht wird. Der Destruktor wird, wie der Name schon sagt, verwendet, um das vom -Konstruktor erstellte Objekt zu zerstören. Genau wie der Konstruktor ist der Destruktor eine Klassen--Mitgliedsmethode . Der Methodenname ist derselbe wie der Klassenname, beginnt jedoch mit einer Tilde.

18. Wie verwende ich den Aufzählungs--Datentyp ?

Der Aufzählungstyp ist ein weiterer benutzerdefinierter Typ, der eine Möglichkeit bietet, Namen mit Zahlen zu verbinden und so die Verständlichkeit des Codes zu verbessern. Das Schlüsselwort enum zählt automatisch eine Gruppe von Wörtern auf und weist ihnen die Werte 0, 1, 2 usw. zu.

19. Einen Konstruktor definieren?

Der Konstruktor ist eine Mitgliedsmethode mit demselben Namen wie ihre Klasse. Der Konstruktor wird immer dann aufgerufen, wenn ein Objekt der zugehörigen Klasse erstellt wird. Er wird als Konstruktor bezeichnet, weil er die Werte der Datenelemente der Klasse erstellt.

20. Was ist Kapselung?

Das Packen von Daten und Funktionalität in eine Einheit (Klasse genannt) wird als Kapselung bezeichnet. Die Kapselung enthält und verbirgt Objektinformationen wie interne Datenstrukturen und Code.

21. Unterstützt C# Mehrfachvererbung?

Nicht unterstützt, es ist unmöglich. Unterstützt mehrstufige Vererbung.

22. Was ist ENUM?

Enum wird verwendet, um Konstanten zu definieren.

23. Was ist der Datensatz?

Ein DataSet ist eine speicherinterne Darstellung von Daten, die aus einer beliebigen Datenquelle geladen werden.

24. Was ist der Unterschied zwischen privaten und öffentlichen Schlüsselwörtern?

Privat: Das Schlüsselwort privat ist die Standardzugriffsebene und die restriktivste aller anderen Zugriffsebenen. Es gewährt einem Typ oder Typmitgliedern minimale Berechtigungen. Auf private Mitglieder kann nur innerhalb des Klassenkörpers zugegriffen werden, in dem sie deklariert sind.

Öffentlich: Das Schlüsselwort „Öffentlich“ ist die freiste aller Zugriffsebenen, ohne jegliche Zugriffsbeschränkungen. Auf öffentliche Mitglieder kann nicht nur von außen, sondern auch von innen zugegriffen werden, und sie können frei auf alle innerhalb oder außerhalb des Klassenkörpers definierten Mitglieder zugreifen.

25. Polymorphismus definieren?

Polymorphismus bedeutet ein Name, viele Formen. Es ermöglicht uns, mehr als eine Methode mit demselben Namen in einem Programm zu definieren. Dadurch können wir Vorgänge überladen, sodass sie sich auf verschiedenen Instanzen unterschiedlich verhalten.

26. Was ist ein gezacktes Array?

Ein gezacktes Array ist ein Array, dessen Elemente Arrays sind.

Gezackte Array-Elemente können unterschiedliche Abmessungen und Größen haben.

Gezackte Arrays werden manchmal als „Arrays von Arrays“ bezeichnet.

27. Was ist eine abstrakte Basisklasse?

Abstract-Klasse ist eine Klasse, die speziell als Basisklasse dient. Abstrakte Klassen verfügen außerdem über mindestens eine rein virtuelle Methode.

28. Was ist der Unterschied zwischen Methodenüberschreibung und Methodenüberladung?

Beim Überschreiben einer Methode ändern Sie das Verhalten der Methode in der abgeleiteten Klasse. Eine überladene Methode bezieht einfach eine andere Methode mit demselben Namen in der Klasse ein.

29. Was ist der Unterschied zwischen ref- und out-Parametern?

Die an den Ref-Parameter übergebenen Parameter müssen zuerst initialisiert werden. Im Gegensatz dazu ist für Out-Parameter keine explizite Initialisierung erforderlich, bevor der Parameter an den Out-Parameter übergeben wird.

30. Wie verwende ich die using-Anweisung in C#?

Die using-Anweisung erwirbt normalerweise eine Ressource, führt die Anweisung aus und gibt dann die Ressource frei.

31. Was ist Serialisierung?

Serialisierung ist der Prozess der Konvertierung von Objekten in Byteströme.

Deserialisierung ist der umgekehrte Prozess der Erstellung eines Objekts aus einem Bytestrom .

Serialisierung/Deserialisierung wird häufig zur Übergabe von Objekten verwendet.

32. Was ist der Unterschied zwischen Struktur und Klasse?

Strukturen sind Werttypen und Klassen sind Referenztypen.

Strukturen können keine Konstruktoren und Destruktoren haben.

Eine Klasse kann sowohl einen Konstruktor als auch einen Destruktor haben.

Strukturen unterstützen keine Vererbung, Klassen jedoch schon.

33. Was ist der Unterschied zwischen einer Klasse und einer Schnittstelle?

Klasse ist die logische Darstellung eines Objekts. Es handelt sich um die Definition einer Datensammlung und der damit verbundenen Teilprozesse.

Interface ist auch eine Klasse, die Methoden ohne Methodenkörperdefinition enthält. Klassen unterstützen keine Mehrfachvererbung, Schnittstellen jedoch schon.

34. Was ist Delegation?

Ein Delegat ist eine typsichere, objektorientierte Implementierung eines Funktionszeigers und wird in vielen Situationen verwendet, in denen eine Komponente einen Rückruf an die Komponente durchführen muss, die ihn verwendet.

35. Was ist Authentifizierung und Autorisierung?

Authentifizierung ist der Prozess der Identifizierung eines Benutzers. Bei der Authentifizierung werden Zertifikate (Benutzername und Passwort) verwendet, um Benutzer zu identifizieren/verifizieren.

Die Autorisierung erfolgt nach der Authentifizierung. Bei der Autorisierung handelt es sich um den Prozess der Zugriffsgewährung auf Grundlage dieser Benutzeridentitäten.

Die Autorisierung ermöglicht dem Benutzer den Zugriff auf bestimmte Ressourcen.

36. Was ist eine Basisklasse?

Eine Klassendeklaration kann die Basisklasse angeben, indem dem Klassennamen ein Doppelpunkt und der Name der Basisklasse hinzugefügt werden. Das Weglassen der Basisklassenspezifikation entspricht der Ableitung von der Objektklasse .

37. Kann „this“ in statischen Methoden verwendet werden?

Nein, „This“ kann nicht in statischen Methoden verwendet werden. In statischen Methoden können nur statische Variablen/Methoden verwendet werden.

38. Was ist der Unterschied zwischen Konstanten, schreibgeschützt und statisch?

Konstanten: Der Wert kann nicht geändert werden.

Schreibgeschützt: Der Wert wird nur einmal im Konstruktor der Klasse initialisiert.

Statisch: Wert kann einmal initialisiert werden.

39. Welche Anweisungstypen werden in C# unterstützt?

Mehrere verschiedene Anweisungstypen, die von C# unterstützt werden, sind

Blockanweisung
Deklarationsanweisung
Ausdrucksanweisung
Auswahlanweisung
Iterationsanweisung
Jump-Anweisung
Ausnahmebehandlungsanweisung
Aktiviert und deaktiviert
Sperranweisung

40 Was ist eine Schnittstellenklasse?

Es handelt sich um eine abstrakte Klasse und alle öffentlichen abstrakten Methoden müssen in ihrer geerbten Klasse implementiert werden.

41. Was sind Werttypen und Referenztypen?

Werttypen werden auf dem Stapel gespeichert.
Zum Beispiel: bool, byte, chat, decimal, double, enum, float, int, long, sbyte, short, strut, uint, ulong, ushort.

Referenztypen werden im verwalteten Heap gespeichert.
Zum Beispiel: Klasse, Delegat, Schnittstelle, Objekt, Zeichenfolge.

42. Was ist der Unterschied zwischen der Schlüsselwortzeichenfolge und der System.String-Klasse?

Die Schlüsselwortzeichenfolge ist ein Alias ​​der System.String-Klasse. System.String ist also dasselbe wie die Schlüsselwortzeichenfolge, und Sie können jede beliebige Namenskonvention verwenden. Die String-Klasse bietet viele Methoden zum sicheren Erstellen, Bearbeiten und Vergleichen von Strings.

43. Welche zwei Datentypen werden in C# bereitgestellt?

Werttyp
Referenztyp

44. Welche Arten von Cache gibt es?

Es gibt drei Arten von Cache:

Ausgabe-Caching: speichert die Antwortinformationen der asp.net-Seite.

Fragment-Caching: Nur einen Teil des Seiteninhalts zwischenspeichern/speichern (Benutzerkontrolle).

Daten-Caching: Objekte programmgesteuert zwischenspeichern, um die Leistung zu steigern.

45. Was ist der Unterschied zwischen benutzerdefinierter Steuerung und Benutzersteuerung?

Benutzerdefinierte Steuerelemente sind kompilierte Codes (DLLs), die einfach zu verwenden, aber schwierig zu erstellen sind und in der Toolbox platziert werden können. Durch Ziehen verwendete Steuerelemente.

Eigenschaften können zur Entwurfszeit intuitiv spezifiziert werden. Es kann von mehreren Anwendungen verwendet werden (bei gemeinsam genutzten DLLs), auch wenn es privat ist, kann es in das bin-Verzeichnis der Webanwendung kopiert, als Referenz hinzugefügt und verwendet werden. Wird normalerweise verwendet, um unabhängigen Verbraucheranwendungen gemeinsame Funktionen bereitzustellen.

Benutzersteuerelemente und ASP-Include-Dateien sind einfach zu erstellen und können nicht per Drag-and-Drop in einer Box platziert werden. Benutzersteuerelemente werden von einzelnen Anwendungsdateien gemeinsam genutzt.

46. Was ist eine Methode?

Methoden sind Mitglieder, die von Objekten oder Klassen ausgeführt werden, um Berechnungen oder Operationen durchzuführen. Der Zugriff auf statische Methoden erfolgt über Klassen. Der Zugriff auf Instanzmethoden erfolgt über Instanzen der Klasse.

47. Was ist eine Domain?

Felder sind Variablen, die sich auf eine Klasse oder eine Instanz einer Klasse beziehen.

48. Was ist ein Ereignis?

Ereignisse sind Mitglieder, die es einer Klasse oder einem Objekt ermöglichen, Benachrichtigungen bereitzustellen. Ereignisdeklarationen ähneln Domänendeklarationen, außer dass die Deklaration das Schlüsselwort „event“ enthält und der Typ ein Delegattyp sein muss.

49. Was sind Texte und ihre Arten?

Text ist eine Wertkonstante, die das Programm einer Variablen zuweist. Mehrere von C# unterstützte Texttypen sind

Integer-Literale
Reelle Literale
Boolesche Literale
Einzelzeichen-Literale)
Zeichenfolgen-Literale
Backslash-Zeichen-Literale

50. Was ist der Unterschied zwischen Werttypen und Referenztypen?

Werttypen werden auf dem Stapel gespeichert und weisen den Wert einer Variablen einer anderen Variablen zu.

Referenztypen werden auf dem verwalteten Heap gespeichert und sind Zuweisungen zwischen zwei Referenzvariablen.

51. Was sind die Funktionen von C#?

C# ist eine einfache, aber leistungsstarke Programmiersprache zum Schreiben von Unternehmensanwendungen.
Es ist eine Mischung aus C++ und VB. Es behält viele C++-Funktionen wie Anweisungen, Ausdrücke und Operatoren bei und kombiniert sie mit der Produktivität von VB.

C# hilft Entwicklern beim einfachen Aufbau von Netzwerkdiensten und ermöglicht den Zugriff auf das Internet über jede Sprache und Plattform.

C# hilft Entwicklern, die Entwicklung mit weniger Code abzuschließen, was zu weniger Fehlern im Code führt.

C# führte erhebliche Verbesserungen und Innovationen in Bereichen wie Typsicherheit, Versionskontrolle, Ereignisse und Garbage Collection ein.

52. Welche Arten von Fehlern gibt es?

Syntaxfehler
Logikfehler
Laufzeitfehler

53 Was ist der Unterschied zwischen break- und continue-Anweisungen? Die

break-Anweisung wird verwendet, um die aktuelle geschlossene Schleife oder die bedingte Anweisung, in der sie sich befindet, zu beenden. Wir haben die break-Anweisung verwendet, um aus der switch-Anweisung herauszuspringen.

Die continue-Anweisung wird verwendet, um die Ausführungsreihenfolge zu ändern. Im Gegensatz zum Ausbrechen aus einer Schleife wie der break-Anweisung stoppt die continue-Anweisung die aktuelle Iteration und gibt die Kontrolle nur an den Anfang der Schleife zurück.

54. Namensraum definieren?

Namespaces werden Container genannt und werden zum Organisieren hierarchischer .NET-Klassen verwendet.

55. Was ist eine Codegruppe?

Eine Codegruppe ist eine Gruppe von Suiten, die einen gemeinsamen Sicherheitskontext haben.

56. Was ist eine versiegelte Klasse in C#?

Der versiegelte Modifikator wird verwendet, um die Ableitung von einer Klasse zu verhindern. Ein Kompilierungsfehler tritt auf, wenn eine versiegelte Klasse als Basisklasse für eine andere Klasse angegeben wird.

57. Was ist der Unterschied zwischen statischen Methoden und Instanzmethoden?

Mit dem Static-Modifikator deklarierte Methoden sind statische Methoden. Statische Methoden funktionieren nicht auf bestimmten Instanzen und können nur von statischen Mitgliedern aufgerufen werden.

Methoden, die nicht mit dem statischen Modifikator deklariert wurden, sind Instanzmethoden. Instanzmethoden werden auf einer bestimmten Instanz ausgeführt und können von statischen und Instanzmitgliedern aufgerufen werden. Auf die Instanz, auf der die Instanzmethode aufgerufen wird, kann so explizit zugegriffen werden. Es ist falsch, dies in einer statischen Methode aufzurufen.

58. Welche Arten von Variablen gibt es in C#?

Die verschiedenen Variablentypen in C# sind:

statische Variablen (statische Variablen)
Instanzvariablen (Instanzvariable)
Wertparameter (Wertparameter)
Referenzparameter ( Referenzparameter)
Array-Elemente
Ausgabeparameter
Lokale Variablen

59. Was bedeutet Methodenüberladung?

Methodenüberladung ermöglicht, dass mehrere Methoden in derselben Klasse denselben Namen haben, solange sie über eindeutige Signaturen verfügen. Beim Kompilieren eines Aufrufs einer überladenen Methode verwendet der Compiler die Überladungsauflösung, um zu bestimmen, welche Methode aufgerufen werden soll.

60. Was sind Parameter?

Parameter werden verwendet, um Werte oder Variablenreferenzen an Methoden zu übergeben. Die Parameter der Methode erhalten ihre tatsächlichen Werte aus den Parametern, die beim Aufruf der Methode angegeben wurden. Es gibt vier Arten von Parametern: Wertparameter, Referenzparameter, Ausgabeparameter und Parameterarrays.

61. Ist C# eine objektorientierte Sprache?

Ja, C# ist eine objektorientierte Sprache wie traditionelles Java und C++.

62. Was ist der Unterschied zwischen Array und Arraylist?

Arrays sind Sammlungen desselben Typs. Die Größe eines Arrays wird bei der Deklaration festgelegt. Eine verknüpfte Liste ähnelt einem Array, hat jedoch keine feste Größe.

63. Was sind die speziellen Operatoren in C#?

C# unterstützt einige spezielle Operatoren.

ist (relationaler Operator)
as (relationaler Operator)
typeof (Typoperator)
sizeof (Größenoperator, wird verwendet, um die Größe nicht verwalteter Klassen zu ermitteln)
new (object Operator)
.dot (Mitgliedszugriffsoperator)
aktiviert (Überlaufprüfung)
nicht aktiviert? (Überlaufprüfung verhindern)

64. Was ist die Bedeutung von Operatoren in C#? Der

-Operator ist ein Mitglied, das die Konnotation eines bestimmten Operationsausdrucks definiert, der auf eine Klasseninstanz angewendet wird. Es können drei Arten von Operatoren definiert werden: unäre Operatoren, binäre Operatoren und Konvertierungsoperatoren. Alle Operatoren müssen als öffentlich und statisch deklariert sein.

65. Was ist Typparametrisierung?

Typparametrisierung ist die Parametrisierung eines Typs gegenüber einem anderen Wert oder Typ.

66. Was sind die Merkmale abstrakter Klassen?

Abstrakte Klassen können nicht implementiert werden und es ist falsch, den neuen Operator für abstrakte Klassen zu verwenden.

Abstrakte Klassen dürfen (aber nicht erforderlich) abstrakte Methoden und Einträge enthalten.

Abstrakte Klassen können den skalierten Modifikator nicht verwenden.

67. Wie verwende ich ein abstraktes Schlüsselwort?

Der Modifikator abstract ist ein Schlüsselwort, das für Klassen verwendet wird, um anzugeben, dass die Klasse selbst keine Instanzen oder Objekte direkt haben kann und nur eine „Basisklasse“ für andere Klassen sein kann.

68. Wie verwende ich die goto-Anweisung?

Die goto-Anweisung ist weiterhin in der C#-Sprache enthalten. Dieses Goto kann verwendet werden, um von der Innenseite einer Schleife nach außen zu springen. Es ist jedoch nicht erlaubt, von außerhalb der Schleife in die Schleife zu springen.

69. Was ist der Unterschied zwischen Konsolenanwendungen und Fensteranwendungen?

Konsolenanwendung, die für die Ausführung über die Befehlszeile ohne Benutzeroberfläche konzipiert ist.
Fensteranwendung, die für die Ausführung auf dem Desktop des Benutzers über eine Benutzeroberfläche konzipiert ist.

70. Wie verwende ich die Rückgabeerklärung?

Die Return-Anweisung bezieht sich auf das Programm (Methode oder Funktion). Wenn die Return-Anweisung ausgeführt wird, übergibt das System die Kontrolle vom aufgerufenen Programm an das aufrufende Programm. Die Return-Anweisung wird für zwei Zwecke verwendet:

Sofortige Rückkehr zum Aufrufer des aktuell ausgeführten Codes

Gibt einen Wert an den Aufrufer des aktuell ausgeführten Codes zurück.

71. Was ist der Unterschied zwischen Array und LinkedList?

Arrays sind einfache Zahlenfolgen, denen die Position der Elemente des anderen egal ist. Ihre Positionen sind unabhängig voneinander. Das Hinzufügen, Löschen oder Ändern beliebiger Array-Elemente ist sehr einfach. Im Vergleich zu einem Array ist eine verknüpfte Liste eine komplexe Zahlenfolge.

72. Verfügt C# über eine Throw-Klausel?

Nein, im Gegensatz zu Java verlangt C# von Entwicklern nicht, Ausnahmen anzugeben, die Methoden auslösen können.

73. Unterstützt C# eine variable Anzahl von Parametern?

Ja, verwenden Sie das Schlüsselwort params. Der Parameter wird als Parameterliste eines bestimmten Typs angegeben.

74. Können private virtuelle Methoden überschrieben werden?

Nein, auf private Methoden kann außerhalb der Klasse nicht zugegriffen werden.

75. Was ist Multicast-Delegierung?

Jedes Delegate-Objekt enthält einen Verweis auf eine separate Methode. Es ist jedoch möglich, dass ein Delegate-Objekt Verweise auf mehrere Methoden enthält und diese aufruft. Solche Delegate-Objekte werden zu Multicast-Delegates oder Composite-Delegates.

76. Was sind die einzigartigen Funktionen von C#?

XML-Dokument.

77 Wird die Verwendung von Ausnahmen in C# empfohlen?

Ja, Ausnahmen bilden der empfohlene Fehlerbehandlungsmechanismus im .NETFramework.

78. Was bewirkt die break-Anweisung in der switch-Anweisung?

Die break-Anweisung beendet die Schleife, in der sie sich befindet. Es verändert auch den Ablauf der Programmausführung.

In der switch-Anweisung wird die break-Anweisung am Ende einer case-Anweisung verwendet. Die break-Anweisung ist in C# obligatorisch und verhindert, dass eine case-Anweisung in eine andere case-Anweisung übergeht.

79. Ist C# objektorientiert?

Ja, C# ist eine objektorientierte Sprache wie traditionelles Java und C++.

80. Was ist intelligente Navigation?

Aufgrund der serverseitigen Validierung und der Aktualisierung der Seite bleibt die Cursorposition beim Aktualisieren der Seite unverändert.

81. Was ist der Unterschied zwischen CONST und READONLY?

dienen alle der Definition konstanter Werte. Ein const-Feld kann nur initialisiert werden, wenn das Feld deklariert wird. Schreibgeschützte Felder können zum Zeitpunkt der Deklaration oder im Konstruktor definiert werden.

82. Verfügt C# über eine Throw-Klausel?

Nein, im Gegensatz zu Java verlangt (und erlaubt) Entwicklern in C# nicht, Ausnahmen anzugeben, die Methoden auslösen können.

83. Auf welche verschiedenen Arten können Methoden überladen werden?

Unterschiedliche Parametertypen, unterschiedliche Anzahl von Parametern und unterschiedliche Parameterreihenfolge.

84. Hat das Ereignis einen Rückgabewert?

Nein, Ereignisse haben keinen Rückgabetyp.

85. Was ist die Veranstaltung?

Ein Ereignis ist eine Aktion, die auf der Grundlage einer anderen Programmmethode ausgeführt wird.

Ereignisse sind Klassenmitglieder vom Delegattyp, die von Objekten oder Klassen verwendet werden, um andere Objekte über eingetretene Ereignisse zu benachrichtigen.

Ereignisse können mit dem Schlüsselwort „event“ deklariert werden.

86. Was ist eine Kennung?

Bezeichner ist der Name, der zur eindeutigen Identifizierung verschiedener Entitäten im Programm verwendet wird.

87. Welche verschiedenen Texttypen gibt es in C#?

Boolesche Werte: True und False sind boolesche Typen, die jeweils den Zuständen true und false zugeordnet sind.

Ganzzahl: Wird zum Schreiben von Werten der Typen Int, uInt, long und ulong verwendet.

Reelle Zahl: Wird zum Schreiben von Werten vom Typ Float, Double und Decimal verwendet.

Zeichen: Stellt ein einzelnes Zeichen dar, das normalerweise aus Anführungszeichen besteht, z. B. „a“.

String: C# unterstützt zwei Arten von Strings: reguläre Strings und Literal-Strings. Eine Regelzeichenfolge besteht aus 0 oder mehr Zeichen in doppelten Anführungszeichen, z. B. „116110“. Eine Literalzeichenfolge besteht aus dem @-Zeichen, gefolgt von doppelten Anführungszeichen, z. B. @"hello".

Null: stellt den Nulltyp dar.

88. Was ist Datenkapselung?

Datenkapselung, auch bekannt als Data Hiding, ist ein Mechanismus, um die Implementierungsdetails einer Klasse vor Benutzern verborgen zu halten. Benutzer können nur eine begrenzte Anzahl von Operationen an einer Klasse mit ausgeblendeten Mitgliedern ausführen, indem sie spezielle Funktionen namens Methoden ausführen.

89. Können private virtuelle Methoden überschrieben werden?

Nein, auf private Methoden kann außerhalb der Klasse nicht zugegriffen werden.

90. Was ist der Hauptunterschied zwischen Unterprogrammen und Funktionen?

Unterprogramme haben keine Rückgabewerte, Funktionen jedoch schon.

91. Was ist der Unterschied zwischen C# und C++?

C# unterstützt die #include-Anweisung nicht. Es werden nur using-Anweisungen verwendet.

In C# verwenden Klassendefinitionen am Ende keine Semikolons.

C# unterstützt keine Mehrfachvererbung.

Die explizite Konvertierung von Datentypen ist in C# viel sicherer als in C++.

Switch in C# kann auch für String-Werte verwendet werden.

Das Verhalten von Befehlszeilenargument-Arrays ist in C# und C++ unterschiedlich.

92. Was ist eine verschachtelte Klasse?

Verschachtelte Klassen sind Klassen innerhalb von Klassen.

Eine verschachtelte Klasse ist jede Klasse, deren Deklaration innerhalb einer anderen Klasse oder Schnittstelle erfolgt.

93. Können Sie dem statischen Konstruktor Funktionsparameter geben?

Nein, statische Konstruktoren können keine Parameter haben.

94. Ist ein String in C# ein Werttyp oder ein Referenztyp?

Strings sind Objekte (Referenztypen).

95. Bietet C# einen Kopierkonstruktor?

Nein, C# bietet keinen Kopierkonstruktor.

96. Kann eine Klasse oder Struktur mehrere Konstruktoren haben?

Ja, eine Klasse oder Struktur kann mehrere Konstruktoren haben. Konstruktoren können in C# überladen werden.

97. Kann ich eine Instanz einer Schnittstelle erstellen?

Nein, Sie können keine Instanzen von Schnittstellen erstellen.

98. Kann eine Schnittstelle Felder enthalten?

Nein, Schnittstellen dürfen keine Felder enthalten.

99. Kann eine Klasse einen statischen Konstruktor haben?

Ja, Klassen können statische Konstruktoren haben. Statische Konstruktoren werden automatisch aufgerufen, unmittelbar bevor auf statische Felder zugegriffen wird, und werden normalerweise zum Initialisieren statischer Klassenmitglieder verwendet. Es wird automatisch aufgerufen, bevor die erste Instanz erstellt wird oder auf statische Mitglieder verwiesen wird. Statische Konstruktoren werden vor Instanzkonstruktoren aufgerufen. Ein Beispiel ist unten dargestellt.

100. Was ist die Hauptfunktion der Delegation in C#?

Delegierte werden hauptsächlich zum Definieren von Rückrufmethoden verwendet.

101. Was ist der Unterschied zwischen Shadowing und Override?

Durch das Überschreiben wird nur die Implementierung neu definiert, während durch die Projektion das gesamte Element neu definiert wird.

Überschreibende abgeleitete Klassen können über das Schlüsselwort „ME“ auf übergeordnete Klassenelemente verweisen, aber in der Projektion können Sie über „MYBASE“ auf übergeordnete Klassenelemente zugreifen.

102. Können Ereignisse Zugriffsmodifikatoren verwenden?

Ja, Sie können Zugriffsmodifikatoren in Ereignissen verwenden. Sie können das Schlüsselwort portected für ein Ereignis verwenden, um nur geerbten Klassen den Zugriff darauf zu ermöglichen. Sie können private verwenden, um das Ereignis so zu dekorieren, dass nur Objekte der aktuellen Klasse darauf zugreifen können.

103. Warum das virtuelle Schlüsselwort im Code verwenden?

Das Schlüsselwort Virtual im Code wird verwendet, um Methoden und Eigenschaften zu definieren, die in abgeleiteten Klassen überschrieben werden können.

104. Was sind Konstruktoren und Destruktoren?

Konstruktoren und Destruktoren sind spezielle Methoden.

Konstruktoren und Destruktoren sind spezielle Methoden jeder Klasse.

Jede Klasse verfügt über einen eigenen Konstruktor und Destruktor, die automatisch aufgerufen werden, wenn eine Klasseninstanz erstellt oder zerstört wird.

Jedes Mal, wenn Sie auf eine Klasse zugreifen, initialisiert der Konstruktor alle Klassenmitglieder. Destruktoren zerstören Objekte, wenn sie nicht mehr benötigt werden.

105. Wie unterdrücken wir die Finalize-Methode?

GC.SuppressFinalize().

106. Unterstützt C# eine variable Anzahl von Parametern?

Ja, verwenden Sie das Schlüsselwort params.

Der Parameter wird als Parameterliste eines bestimmten Typs angegeben, zum Beispiel int. Für maximale Flexibilität kann der Typ Objekt sein.

Das Standardbeispiel für die Verwendung dieser Methode ist System.console.writeLine().

107. Mit welcher Methode wird ein Thread gestartet?
Starten.

108. Was sind Generika?

Generika helfen uns bei der Erstellung flexibler und stark typisierter Sammlungen.

Generika trennen grundsätzlich die Logik vom Datentyp, um eine bessere Wiederverwendbarkeit, bessere Wartbarkeit usw. zu gewährleisten.

109. Was sind die Polymorphismen verschiedener Klassen?

Es gibt zwei Arten von Polymorphismus:

Polymorphismus zur Kompilierungszeit

Polymorphismus zur Laufzeit

110. Polymorphismus zur Kompilierungszeit Was ist der Unterschied zwischen Polymorphismus und Laufzeitpolymorphismus?

Polymorphismus zur Kompilierungszeit

Polymorphismus zur Kompilierungszeit wird auch als Methodenüberladung bezeichnet.

Methodenüberladung bezieht sich auf zwei oder mehr Methoden mit demselben Namen, aber unterschiedlichen Signaturen.

Laufzeitpolymorphismus

Laufzeitpolymorphismus wird auch als Methodenüberschreibung bezeichnet.

Methodenüberschreibung bedeutet, dass es zwei oder mehr Methoden mit demselben Namen gibt, die dieselbe Methodensignatur enthalten, aber unterschiedlichen Implementierungen entsprechen.

111. Welcher Namespace macht Multithread-Programmierung in XML möglich?

System.Threading.

112. Kann ich einen statischen Block in C# deklarieren?

Nein, denn C# unterstützt keine statischen Blöcke, aber statische Methoden.

113. Kann eine Methode als versiegelt deklariert werden?

Methoden können in C# nicht als versiegelt deklariert werden. Wenn wir jedoch eine Methode in einer abgeleiteten Klasse überschreiben, können wir die überschriebene Methode als versiegelt definieren. Durch die Versiegelung können wir ein weiteres Überschreiben der Methode vermeiden.

114. Welcher Befehl wird verwendet, um Attribute in C# zu implementieren?

Die get- und set-Modifikatoren werden zum Implementieren von Eigenschaften in C# verwendet.

115. Was sind statische Mitglieder?

ist als statisches Mitglied definiert und kann direkt von der Klassenebene statt von einer Klasseninstanz aufgerufen werden.

116. Wie lautet die Syntax zum Erben einer Klasse in C#?

Wenn eine Klasse von einer anderen Klasse abgeleitet wird, werden die Mitglieder der Basisklasse zu abgeleiteten Mitgliedern.

Der Zugriffsmodifikator, der für den Zugriff auf Mitglieder der Basisklasse verwendet wird, gibt den Zugriffsstatus der Basisklassenmitglieder in der abgeleiteten Klasse an.

Die Syntax zum Erben einer Klasse von einer anderen Klasse in C# lautet wie folgt:

class MyNewClass : MyBaseClass

117. Was ist der grundlegende Unterschied zwischen while-Schleife und do while? Schleife in C#?

Die while-Schleife testet ihre Bedingung zu Beginn, was bedeutet, dass, wenn die Bedingung „true“ ergibt, der umschließende Anweisungsblock 0 oder öfter ausgeführt wird. Die do while-Schleife durchläuft den Anweisungsblock mindestens einmal und prüft am Ende die Bedingung.

118. Was ist der Hauptunterschied zwischen Unterprogrammen und Funktionen?

Unterprogramme haben keine Rückgabewerte, Funktionen jedoch schon.

119. Was ist eine versiegelte Klasse in C#?

Der versiegelte Modifikator wird verwendet, um die Ableitung von einer Klasse zu verhindern. Ein Kompilierungsfehler tritt auf, wenn eine versiegelte Klasse als Basisklasse für eine andere Klasse angegeben wird.

120. Was ist der Unterschied zwischen einer Klasse und einer Schnittstelle?

Eine abstrakte Klasse kann einige ihrer Mitglieder implementieren, aber eine Schnittstelle kann keines ihrer Mitglieder implementieren.

Schnittstellen können keine Felder haben, aber abstrakte Klassen können Felder haben.

Eine Schnittstelle kann nur von einer anderen Schnittstelle erben und nicht von einer abstrakten Klasse, wohingegen eine abstrakte Klasse von einer anderen abstrakten Klasse oder einer anderen Schnittstelle erben kann.

Eine Klasse kann mehrere Schnittstellen gleichzeitig erben, aber eine Klasse kann nicht mehrere Klassen gleichzeitig erben.

Mitglieder abstrakter Klassen können Zugriffsmodifikatoren definieren, Schnittstellenmitglieder jedoch keine Zugriffsmodifikatoren.

121. Was ist der Unterschied zwischen abstrakten Methoden und virtuellen Methoden?

Abstrakte Methoden stellen keine Implementierung bereit und zwingen abgeleitete Klassen, die Methode zu überschreiben (es sei denn, die abgeleitete Klasse ist auch eine abstrakte Klasse), während virtuelle Methoden Implementierungen haben können und deren Überschreibung in abgeleiteten Klassen optional ist. Daher können virtuelle Methoden implementiert werden und bieten die Möglichkeit, sie durch abgeleitete Klassen zu überschreiben. Eine abstrakte Methode kann keine Implementierung bereitstellen und zwingt abgeleitete Klassen, die Methode zu überschreiben.

122. Was ist eine statische Methode?

Das Deklarieren einer Methode als statisch ist möglich, solange sie nicht versucht, auf Instanzdaten oder andere Instanzmethoden zuzugreifen.

123. Was ist der neue Modifikator?

Neuer Modifikator verbirgt Mitglieder der Basisklasse. C# unterstützt nur das Ausblenden von Signaturen.

124. Was sind die Vorteile von get- und set-Attributen in C#?

Der Get-Property-Accessor wird verwendet, um den Eigenschaftswert zurückzugeben.

Der Set-Attribut-Accessor wird zum Festlegen neuer Werte verwendet.

125. Was ist der Unterschied zwischen const und readonly?

Const-deklarierte Felder können den statischen Modifikator nicht verwenden, schreibgeschützte Felder können jedoch den statischen Modifikator verwenden.

const-Felder können nur zum Zeitpunkt der Deklaration initialisiert werden, während readonly zum Zeitpunkt der Deklaration oder im Konstruktor initialisiert werden können.

Der Wert des const-Felds wird zur Entwurfszeit berechnet, während der Wert von readonly zur Laufzeit berechnet wird.

Das obige ist der detaillierte Inhalt vonTeilen Sie 125 grundlegende C#-Interviewfragen und -antworten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn