Maison  >  Article  >  développement back-end  >  Partagez 125 questions et réponses d'entretien de base en C#

Partagez 125 questions et réponses d'entretien de base en C#

怪我咯
怪我咯original
2017-04-07 10:36:292477parcourir

Ce qui suit est une liste de 125 questions et réponses d'entretien de base en C#. Ces questions d'entretien sont simples, directes et couvrent les concepts les plus fondamentaux du C#, dont la plupart sont liés aux concepts orientés vers les objets. Donc, si vous vous préparez pour un entretien C#, je vous suggère de maîtriser ces 125 questions et réponses d'entretien C# de base pour revoir vos concepts C#. Jetons maintenant un coup d’œil à cette liste de 125 questions et réponses essentielles pour l’entretien C#.

1. Qu'est-ce que le C# ?

C# (prononcé "C dièse") est un langage de programmation simple, différent du

langage de programmation traditionnel, orienté objet et de type sécurisé. Les programmeurs C et C++ s’y familiariseront rapidement. Le langage RAD (Rapid Application Development) hautement productif est combiné en C#.

2. Quels sont les types d'annotations en C# ?


Il existe trois types d'annotations en C#.
Une seule ligne (//)
Plusieurs lignes (/* */)

Page/Commentaires XML (///).

3. Quels sont les espaces de noms

utilisés en C#.NET ?


Un espace de noms est un regroupement logique de types.
using System;
using System.Collections.Generic;

using System.Windows.Forms;

4. Quelles sont les caractéristiques de C# ?

C# présente les caractéristiques suivantes :


Simple
Sécurité des types
Flexible
Orienté objet
Compatible
Persistance
Interopérabilité

Différent du traditionnel

5. Quelles sont les différentes catégories d'héritage ?

Quatre types d'héritage en programmation orientée objet :

Héritage unique : comprend une classe de base et une classe dérivée.

Héritage hiérarchique : comprenant une classe de base et des classes dérivées qui héritent de la même classe de base.

Héritage multiniveau : inclut les classes dérivées d'une classe dérivée.

Héritage multiple : inclut plusieurs classes de base et une classe dérivée.

6. Quels sont les concepts de base de la programmation orientée objet ?

Il est nécessaire de comprendre certains concepts largement utilisés en programmation orientée objet. Ils comprennent :


Objet
Classe
Abstraction et encapsulation des données
Héritage
Polymorphisme
Liaison dynamique

Transmission d'informations.

7. Pouvez-vous hériter de plusieurs interfaces

 ?

Oui. En C#, il est possible d'hériter de plusieurs interfaces.

8. Qu'est-ce que l'héritage ?

L'héritage est une nouvelle classe dérivée d'une classe existante.

9. Définir la portée ? La portée

fait référence à la zone du code où une variable

est accessible.

10. Quelles sont les différences entre public, statique et vide ?

public : Le mot-clé public est un modificateur d'accès, utilisé pour indiquer au compilateur C# que la méthode main (Main) peut être appelée par n'importe qui.

static : Le mot-clé static indique que la méthode principale est une méthode globale et est accessible sans instance de classe. Le compilateur stocke l'adresse de la méthode comme point d'entrée et utilise ces informations pour commencer à l'exécuter avant la création d'objets.

void : Le mot-clé void est un modificateur de type indiquant que la méthode main ne renvoie aucune valeur.

11. Quels sont les modificateurs en C# ?


Résumé
Scellé
Virtuel
Const
Événement
Externe
Override
Lecture seule
Statique

Nouveau

12 . Quels sont les types de modificateurs d’accès en C# ?

Les modificateurs d'accès en C# sont :


public
protect
private
interne

internal protected

13. ?

Le type valeur variable est implicitement converti en type référence et devient une boxe, comme la conversion de type de entier en objet

.

La conversion des variables de type référence en types valeur devient un déballage.

14. Quel est l'objet ?

Les objets sont des instances de classes. Les objets sont créés à l'aide de la nouvelle opération. Une classe crée un objet

en mémoire qui contiendra des informations sur les valeurs et le comportement (ou les méthodes) de l'objet spécifique.

15. Quels types de tableaux

existe-t-il en C# ?

Tableau unidimensionnel
(Unidimensionnel)Tableau multidimensionnel
(Multidimensionnel)

Tableaux irréguliers.

16. Quelle est la différence entre les objets et les instances ?

Une instance d'un type défini par l'utilisateur est appelée un objet. Nous pouvons instancier de nombreux objets d'une classe.

Les objets sont des instances de classes.

17. Définir des destructeurs ? Définir un destructeur

 ?

Le destructeur est appelé lorsque l'objet de classe sort de la portée ou est explicitement supprimé. Le destructeur, comme son nom l'indique, est utilisé pour détruire l'objet créé par le constructeur . Tout comme le constructeur, le destructeur est une méthode membre de classe . Le nom de la méthode est le même que le nom de la classe, mais commence par un tilde.

18. Comment utiliser le type de données énumération ?

Le type énumération est un autre type défini par l'utilisateur qui permet de connecter des noms à des nombres, améliorant ainsi la compréhensibilité du code. Le mot-clé enum énumère automatiquement un groupe de mots en leur attribuant les valeurs 0, 1, 2, etc.

19. Définir un constructeur ?

Le constructeur est une méthode membre portant le même nom que sa classe. Le constructeur est appelé chaque fois qu'un objet de sa classe associée est créé. On l'appelle constructeur car il construit les valeurs des données membres de la classe.

20. Qu'est-ce que l'encapsulation ?

Le regroupement de données et de fonctionnalités dans une unité (appelée classe) est appelé encapsulation. L'encapsulation contient et masque les informations sur les objets, telles que les structures de données internes et le code.

21. C# prend-il en charge l'héritage multiple ?

Non pris en charge, c'est impossible. Prend en charge l'héritage à plusieurs niveaux.

22. Qu'est-ce qu'ENUM ?

Enum est utilisé pour définir des constantes .

23. Quel est l'ensemble de données ?

Un DataSet est une représentation en mémoire de données chargées à partir de n'importe quelle source de données.

24. Quelle est la différence entre les mots-clés privés et publics ?

Privé : Le mot-clé privé est le niveau d'accès par défaut et le plus restrictif de tous les autres niveaux d'accès. Il donne des autorisations minimales à un type ou à des membres d'un type. Les membres privés ne sont accessibles que dans le corps de classe dans lequel ils sont déclarés.

Public : Le mot-clé public est le plus libre de tous les niveaux d'accès, sans aucune restriction d'accès. Les membres publics sont accessibles non seulement de l'extérieur, mais également de l'intérieur, et peuvent accéder librement à tout membre défini à l'intérieur ou à l'extérieur du corps de la classe.

25. Définir le polymorphisme ?

Le polymorphisme signifie un nom, plusieurs formes. Cela nous permet de définir plusieurs méthodes portant le même nom dans un programme. Cela nous permet de surcharger les opérations afin qu'elles se comportent différemment sur différentes instances.

26. Qu'est-ce qu'un tableau irrégulier ?

Un tableau irrégulier est un tableau dont les éléments sont des tableaux.

Les éléments de tableau irréguliers peuvent avoir différentes dimensions et tailles.

Les tableaux irréguliers sont parfois appelés « tableaux de tableaux ».

27. Qu'est-ce qu'une classe de base abstraite ?

Classe abstraite est une classe conçue spécifiquement pour servir de classe de base. Les classes abstraites ont également au moins une méthode virtuelle pure.

28. Quelle est la différence entre le remplacement de méthode et la surcharge de méthode ?

Lors de la substitution d'une méthode, vous modifiez le comportement de la méthode dans la classe dérivée. Une méthode surchargée implique simplement une autre méthode portant le même nom dans la classe.

29. Quelle est la différence entre les paramètres ref et out ?

Les paramètres passés au paramètre ref doivent être initialisés en premier. En revanche, pour les paramètres out, aucune initialisation explicite n'est requise avant que le paramètre ne soit transmis au paramètre out.

30. Comment utiliser l'instruction using en C# ?

L'instruction using acquiert généralement une ressource, exécute l'instruction, puis libère la ressource.

31. Qu'est-ce que la sérialisation ?

La sérialisation est le processus de conversion d'objets en flux d'octets.

La désérialisation est le processus inverse de création d'un objet à partir d'un flux d'octets .

La sérialisation/désérialisation est souvent utilisée pour transmettre des objets.

32. Quelle est la différence entre structure et classe ?

Les structures sont des types valeur et les classes sont des types référence.

Les structures ne peuvent pas avoir de constructeurs et de destructeurs.

Une classe peut avoir à la fois un constructeur et un destructeur.

Les structures ne prennent pas en charge l'héritage, contrairement aux classes.

33. Quelle est la différence entre une classe et une interface ?

La classe est la représentation logique d'un objet. C'est la définition d'une collecte de données et des sous-processus associés.

Interface est également une classe qui contient des méthodes sans aucune définition de corps de méthode. Les classes ne prennent pas en charge l'héritage multiple, contrairement aux interfaces.

34. Qu'est-ce que la délégation ?

Un délégué est une implémentation de type sécurisé et orientée objet d'un pointeur de fonction et est utilisé dans de nombreuses situations où un composant doit rappeler le composant qui l'utilise.

35. Qu'est-ce que l'authentification et l'autorisation ?

L'authentification est le processus d'identification d'un utilisateur. L'authentification utilise des certificats (nom d'utilisateur et mot de passe) pour identifier/vérifier les utilisateurs.

L'autorisation est effectuée après authentification. L'autorisation est le processus d'octroi de l'accès en fonction de ces identités d'utilisateur.

L'autorisation permet à l'utilisateur d'accéder à des ressources spécifiques.

36. Qu'est-ce qu'une classe de base ?

Une déclaration de classe peut spécifier la classe de base en ajoutant deux points et le nom de la classe de base au nom de la classe. Omettre la spécification de la classe de base équivaut à dériver de la classe d'objet .

37. « this » peut-il être utilisé dans des méthodes statiques ?

Non, 'This' ne peut pas être utilisé dans les méthodes statiques. Seules les variables/méthodes statiques peuvent être utilisées dans les méthodes statiques.

38. Quelle est la différence entre les constantes, en lecture seule et statiques ?

Constantes : La valeur ne peut pas être modifiée.

Lecture seule : La valeur n'est initialisée qu'une seule fois dans le constructeur de la classe.

Statique : la valeur peut être initialisée une fois.

39. Quels types d'instructions sont pris en charge en C# ?

Plusieurs types d'instructions différents pris en charge par C# sont

Instruction de bloc
Instruction de déclaration
Instruction d'expression
Instruction de sélection
Instruction d'itération
Instruction de saut
Instruction de gestion des exceptions
Cochée et décochée
Instruction de verrouillage

40. Qu'est-ce qu'une classe d'interface ?

C'est une classe abstraite, et toutes les méthodes abstraites publiques doivent être implémentées dans sa classe héritée.

41. Que sont les types valeur et les types référence ?

Les types de valeurs sont stockés sur la pile.
Par exemple : bool, byte, chat, decimal, double, enum, float, int, long, sbyte, short, strut, uint, ulong, ushort.

Les types de référence sont stockés dans le tas géré.
Par exemple : classe, délégué, interface, objet, chaîne.

42. Quelle est la différence entre la chaîne de mots-clés et la classe System.String ?

La chaîne de mots-clés est un alias de la classe System.String. Ainsi, System.String est identique à la chaîne de mots-clés et vous pouvez utiliser la convention de dénomination de votre choix. La classe String fournit de nombreuses méthodes pour créer, manipuler et comparer en toute sécurité des chaînes.

43. Quels sont les deux types de données fournis en C# ?

Type de valeur
Type de référence

44. Quels types de cache existe-t-il ?

Il existe trois types de cache :

Output Caching : stocke les informations de réponse de la page asp.net.

Mise en cache des fragments : cache/stocke uniquement une partie du contenu de la page (contrôle utilisateur).

Mise en cache des données : mise en cache des objets par programmation pour plus de performances.

45. Quelle est la différence entre le contrôle personnalisé et le contrôle utilisateur ?

Les contrôles personnalisés sont des codes compilés (Dll) faciles à utiliser mais difficiles à créer et pouvant être placés dans la boîte à outils. Contrôles utilisés par glisser-déposer.

Les propriétés peuvent être spécifiées intuitivement au moment de la conception. Il peut être utilisé par plusieurs applications (si DLL partagées), même s'il est privé, il peut être copié dans le répertoire bin de l'application Web, ajouté pour référence et utilisé. Généralement utilisé pour fournir des fonctionnalités communes aux applications grand public indépendantes.

Les contrôles utilisateur et les fichiers d'inclusion ASP sont faciles à créer et ne peuvent pas être placés dans une boîte pour les glisser-déposer. Les contrôles utilisateur sont partagés entre les fichiers d'application individuels.

46. Qu'est-ce qu'une méthode ?

Les méthodes sont des membres exécutés par des objets ou des classes pour implémenter des calculs ou des opérations. Les méthodes statiques sont accessibles via les classes. Les méthodes d'instance sont accessibles via les instances de la classe.

47. Qu'est-ce qu'un domaine ?

Les champs sont des variables liées à une classe ou à une instance d'une classe.

48. Qu'est-ce qu'un événement ?

Les événements sont des membres qui permettent à une classe ou à un objet de fournir des notifications. Les déclarations d'événement sont comme les déclarations de domaine, sauf que la déclaration contient le mot-clé event et que le type doit être un type délégué.

49. Que sont les textes et leurs types ?

Le texte est une valeur constante que le programme attribue à une variable. Plusieurs types de texte pris en charge par C# sont les

littéraux entiers
littéraux réels
littéraux booléens
littéraux à un seul caractère)
littéraux de chaîne de caractères
littéraux de caractères barre oblique inverse

50. Quelle est la différence entre les types valeur et les types référence ?

Les types de valeurs sont stockés sur la pile et attribuent la valeur d'une variable à une autre variable.

Les types de référence sont stockés sur le tas géré et sont des affectations entre deux variables de référence.

51. Quelles sont les fonctionnalités du C# ?

C# est un langage de programmation simple mais puissant pour écrire des applications d'entreprise.
C'est un mélange de C++ et de VB. Il conserve de nombreuses fonctionnalités C++ telles que les instructions, expressions et opérateurs et les combine avec la productivité de VB.

C# aide les développeurs à créer facilement des services réseau et peut accéder à Internet via n'importe quel langage et n'importe quelle plate-forme.

C# aide les développeurs à terminer le développement avec moins de code, ce qui entraîne moins d'erreurs dans le code.

C# a introduit des améliorations et des innovations considérables dans des domaines tels que la sécurité des types, le contrôle de version, les événements et le garbage collection.

52. Quels sont les types d’erreurs ?

Erreur de syntaxe
Erreur de logique
Erreur d'exécution

53. Quelle est la différence entre les instructions break et continue ? L'instruction

break est utilisée pour terminer la boucle fermée actuelle ou l'instruction conditionnelle dans laquelle elle se trouve. Nous avons utilisé l'instruction break pour sortir de l'instruction switch .

L'instruction continue est utilisée pour modifier l'ordre d'exécution. Contrairement à la sortie d'une boucle comme l'instruction break, l'instruction continue arrête l'itération en cours et ne renvoie le contrôle qu'en haut de la boucle.

54. Définir l'espace de noms ?

Les espaces de noms sont appelés conteneurs et sont utilisés pour organiser les classes .NET hiérarchiques.

55. Qu'est-ce qu'un groupe de codes ?

Un groupe de codes est un groupe de suites qui partagent un contexte de sécurité.

56. Qu'est-ce qu'une classe scellée en C# ?

le modificateur scellé est utilisé pour empêcher la dérivation d'une classe. Une erreur de compilation se produit si une classe scellée est spécifiée comme classe de base pour une autre classe.

57. Quelle est la différence entre les méthodes statiques et les méthodes d'instance ?

Les méthodes déclarées avec le modificateur static sont des méthodes statiques. Les méthodes statiques ne fonctionnent pas sur des instances spécifiques et ne sont accessibles qu'aux membres statiques.

Les méthodes non déclarées avec le modificateur static sont des méthodes d'instance. Les méthodes d'instance fonctionnent sur une instance spécifique et sont accessibles aux membres statiques et d'instance. L'instance sur laquelle la méthode d'instance est appelée est accessible explicitement comme ceci. Il est faux d’appeler cela dans une méthode statique.

58. Quels types de variables existe-t-il en C# ?

Les différents types de variables en C# sont :

variables statiques (variables statiques)
variables d'instance (variable d'instance)
paramètres de valeur (paramètres de valeur)
paramètres de référence ( paramètres de référence)
éléments du tableau
paramètres de sortie
variables locales

59. Que signifie la surcharge de méthode ?

La surcharge de méthodes permet à plusieurs méthodes d'une même classe d'avoir le même nom, à condition qu'elles aient des signatures uniques. Lors de la compilation d’un appel à une méthode surchargée, le compilateur utilise la résolution de surcharge pour déterminer la méthode à appeler.

60. Que sont les paramètres ?

Les paramètres sont utilisés pour transmettre des valeurs ou des références de variables aux méthodes. Les paramètres de la méthode obtiennent leurs valeurs réelles à partir des paramètres spécifiés lors de l'appel de la méthode. Il existe quatre types de paramètres : les paramètres de valeur, les paramètres de référence, les paramètres de sortie et les tableaux de paramètres.

61. Le C# est-il un langage orienté objet ?

Oui, C# est un langage orienté objet comme Java et C++ traditionnels.

62. Quelle est la différence entre Array et Arraylist ?

Les tableaux sont des collections du même type. La taille d'un tableau est fixe lors de sa déclaration. Une liste chaînée est similaire à un tableau, mais elle n’a pas de taille fixe.

63. Quels sont les opérateurs spéciaux en C# ?

C# prend en charge certains opérateurs spéciaux.

is (opérateur relationnel)
as (opérateur relationnel)
typeof (opérateur de type)
sizeof (opérateur de taille, utilisé pour obtenir la taille des classes non gérées)
new (object opérateur)
.dot (opérateur d'accès aux membres)
coché (vérification de débordement)
non coché (empêcher la vérification de débordement)

64. L'opérateur

est un membre qui définit la connotation d'une expression d'opération spécifique appliquée à une instance de classe. Trois types d'opérateurs peuvent être définis : les opérateurs unaires, les opérateurs binaires et les opérateurs de conversion. Tous les opérateurs doivent être déclarés publics et statiques.

65. Qu'est-ce que le paramétrage de type ?

Le paramétrage de type est le paramétrage d'un type sur une autre valeur ou un autre type.

66. Quelles sont les caractéristiques des classes abstraites ?

Les classes abstraites ne peuvent pas être implémentées et il est erroné d'utiliser l'opérateur new sur les classes abstraites.

Les classes abstraites sont autorisées (mais pas obligatoires) à contenir des méthodes et des entrées abstraites.

Les classes abstraites ne peuvent pas utiliser le modificateur de mise à l'échelle.

67. Comment utiliser le mot-clé abstrait ?

Le modificateur abstract est un mot-clé utilisé pour les classes pour indiquer que la classe elle-même ne peut pas avoir directement d'instances ou d'objets, et qu'elle ne peut être qu'une "classe de base" pour d'autres classes.

68. Comment utiliser l'instruction goto ?

L'instruction goto est toujours incluse dans le langage C#. Ce goto peut être utilisé pour sauter de l’intérieur d’une boucle vers l’extérieur. Mais sauter dans la boucle depuis l’extérieur de la boucle n’est pas autorisé.

69. Quelle est la différence entre les applications console et les applications fenêtres ?

Application console conçue pour s'exécuter à partir de la ligne de commande sans interface utilisateur.
Application Windows, conçue pour être exécutée sur le bureau de l'utilisateur via une interface utilisateur.

70. Comment utiliser la déclaration de retour ?

L'instruction return est liée au programme (méthode ou fonction). Lorsque l'instruction return est exécutée, le système transfère le contrôle du programme appelé au programme appelant. L'instruction return est utilisée à deux fins :

Retourner immédiatement à l'appelant du code actuellement exécuté

Renvoyer une valeur à l'appelant du code actuellement exécuté.

71. Quelle est la différence entre Array et LinkedList ?

Les tableaux sont de simples séquences de nombres qui ne se soucient pas de la position des éléments les uns des autres. Leurs positions sont indépendantes les unes des autres. Ajouter, supprimer ou modifier n’importe quel élément du tableau est très simple. Comparée à un tableau, une liste chaînée est une séquence complexe de nombres.

72. C# a-t-il une clause de lancement ?

Non, contrairement à Java, C# n'exige pas que les développeurs spécifient les exceptions que les méthodes peuvent lancer.

73. C# prend-il en charge un nombre variable de paramètres ?

Oui, utilisez le mot-clé params. Le paramètre est spécifié sous forme de liste de paramètres d'un type spécifique.

74. Les méthodes virtuelles privées peuvent-elles être remplacées ?

Non, les méthodes privées ne sont pas accessibles en dehors de la classe.

75. Qu'est-ce que la délégation multicast ?

Chaque objet délégué contient une référence à une méthode distincte. Cependant, il est possible qu'un objet délégué contienne des références à plusieurs méthodes et les appelle. Ces objets délégués deviennent des délégués multicast ou des délégués composites.

76. Quelles sont les fonctionnalités uniques du C# ?

Document XML.

77. L'utilisation d'exceptions est-elle recommandée en C# ?

Oui, les exceptions sont le mécanisme de gestion des erreurs recommandé dans le .NETFramework.

78. Que fait l'instruction break dans l'instruction switch ?

L'instruction break termine la boucle dans laquelle elle se trouve. Cela modifie également le flux d’exécution du programme.

Dans l'instruction switch, l'instruction break est utilisée à la fin d'une instruction case. L'instruction break est obligatoire en C# et empêche une instruction case de se transformer en une autre instruction case.

79. Le C# est-il orienté objet ?

Oui, C# est un langage orienté objet comme Java et C++ traditionnels.

80. Qu'est-ce que la navigation intelligente ?

En raison de la validation côté serveur et de l'actualisation de la page, la position du curseur reste inchangée lorsque la page est actualisée.

81. Quelle est la différence entre CONST et READONLY ?

servent tous à définir des valeurs constantes. Un champ const ne peut être initialisé que lorsque le champ est déclaré. Les champs en lecture seule peuvent être définis au moment de la déclaration ou dans le constructeur.

82. C# a-t-il une clause de lancement ?

Non, contrairement à Java, C# n'exige pas (ni même autorise) les développeurs de spécifier les exceptions que les méthodes peuvent lancer.

83. Quelles sont les différentes façons dont les méthodes peuvent être surchargées ?

Différents types de paramètres, différents nombres de paramètres et différents ordres de paramètres.

84. L'événement a-t-il une valeur de retour ?

Non, les événements n'ont pas de type de retour.

85. Quel est l'événement ?

Un événement est une action réalisée selon une autre méthode de programme.

Les événements sont des membres de classe de type délégué utilisés par des objets ou des classes pour informer d'autres objets des événements qui se sont produits.

Les événements peuvent être déclarés à l'aide du mot-clé event.

86. Qu'est-ce qu'un identifiant ?

L'identifiant est le nom utilisé pour identifier de manière unique diverses entités du programme.

87. Quels sont les différents types de texte en C# ?

Valeurs booléennes : True et False sont des types booléens, mappés respectivement aux états vrai et faux.

Entier : utilisé pour écrire des valeurs de types Int, uInt, long et ulong.

Nombre réel : utilisé pour écrire des valeurs de type float, double et décimal. Caractère

 : représente un caractère unique, généralement composé de caractères entre guillemets, tels que « a ».

String : C# prend en charge deux types de chaînes, les chaînes normales et les chaînes littérales. Une chaîne de règle se compose de 0 ou plusieurs caractères entourés de guillemets doubles, tels que « 116110 ». Une chaîne littérale se compose du caractère @ suivi de caractères entre guillemets, tels que @"hello".

Null : représente le type nul.

88. Qu'est-ce que l'encapsulation des données ?

L'encapsulation des données, également connue sous le nom de masquage de données, est un mécanisme permettant de cacher les détails d'implémentation d'une classe aux utilisateurs. Les utilisateurs ne peuvent effectuer qu'un ensemble limité d'opérations sur une classe comportant des membres masqués en exécutant des fonctions spéciales appelées méthodes.

89. Les méthodes virtuelles privées peuvent-elles être remplacées ?

Non, les méthodes privées ne sont pas accessibles en dehors de la classe.

90. Quelle est la principale différence entre les sous-programmes et les fonctions ?

Les sous-programmes n'ont pas de valeurs de retour, contrairement aux fonctions.

91. Quelle est la différence entre C# et C++ ?

C# ne prend pas en charge l'instruction #include. Il utilise uniquement des instructions using.

En C#, les définitions de classe n'utilisent pas de points-virgules à la fin.

C# ne prend pas en charge l'héritage multiple.

La conversion explicite des types de données est beaucoup plus sûre en C# qu'en C++.

Switch en C# peut également être utilisé pour les valeurs de chaîne.

Le comportement des tableaux d'arguments de ligne de commande est différent en C# et C++.

92. Qu'est-ce qu'une classe imbriquée ?

Les classes imbriquées sont des classes dans les classes.

Une classe imbriquée est toute classe dont la déclaration se produit dans une autre classe ou interface.

93. Pouvez-vous donner au constructeur statique les paramètres de fonction  ?

Non, les constructeurs statiques ne peuvent pas avoir de paramètres.

94. En C#, une chaîne est-elle un type valeur ou un type référence ?

Les chaînes sont des objets (types de référence).

95. C# fournit-il un constructeur de copie ?

Non, C# ne fournit pas de constructeur de copie.

96. Une classe ou une structure peut-elle avoir plusieurs constructeurs ?

Oui, une classe ou une structure peut avoir plusieurs constructeurs. Les constructeurs peuvent être surchargés en C#.

97. Puis-je créer une instance d'une interface ?

Non, vous ne pouvez pas créer d'instances d'interfaces.

98. Une interface peut-elle contenir des champs ?

Non, les interfaces ne peuvent pas contenir de champs.

99. Une classe peut-elle avoir un constructeur statique ?

Oui, les classes peuvent avoir des constructeurs statiques. Les constructeurs statiques sont automatiquement appelés immédiatement avant l'accès à des champs statiques et sont généralement utilisés pour initialiser les membres d'une classe statique. Il est automatiquement appelé avant la création de la première instance ou avant que des membres statiques ne soient référencés. Les constructeurs statiques sont appelés avant les constructeurs d'instances. Un exemple est présenté ci-dessous.

100. Quelle est la fonction principale de la délégation en C# ?

Les délégués sont principalement utilisés pour définir des méthodes de rappel.

101. Quelle est la différence entre l'observation et le remplacement ?

Le remplacement redéfinit uniquement l'implémentation tandis que la projection redéfinit l'élément entier.

Le remplacement des classes dérivées peut faire référence aux éléments de la classe parent via le mot-clé "ME", mais en projection, vous pouvez accéder aux éléments de la classe parent via "MYBASE".

102. Les événements peuvent-ils utiliser des modificateurs d'accès ?

Oui, vous pouvez utiliser des modificateurs d'accès dans les événements. Vous pouvez utiliser le mot-clé portected sur un événement pour autoriser uniquement les classes héritières à y accéder. Vous pouvez utiliser private pour décorer les événements afin qu'ils ne soient accessibles qu'aux objets de la classe actuelle.

103. Pourquoi utiliser le mot clé virtuel dans le code ?

Le mot-clé Virtual dans le code est utilisé pour définir des méthodes et des propriétés qui peuvent être remplacées dans les classes dérivées.

104. Que sont les constructeurs et les destructeurs ?

Les constructeurs et les destructeurs sont des méthodes spéciales.

Les constructeurs et les destructeurs sont des méthodes spéciales de chaque classe.

Chaque classe possède ses propres constructeur et destructeur, qui sont automatiquement appelés lorsqu'une instance de classe est créée ou détruite.

Chaque fois que vous accédez à une classe, le constructeur initialise tous les membres de la classe. Les destructeurs détruisent les objets lorsqu'ils ne sont plus nécessaires.

105. Comment supprimer la méthode finalize ?

GC.SuppressFinalize().

106. C# prend-il en charge un nombre variable de paramètres ?

Oui, utilisez le mot-clé params.

Le paramètre est spécifié sous la forme d'une liste de paramètres d'un type spécifique, par exemple int. Pour une flexibilité maximale, le type peut être un objet.

L'exemple standard d'utilisation de cette méthode est System.console.writeLine().

107. Quelle méthode est utilisée pour démarrer un fil de discussion ?
Démarrez.

108. Que sont les génériques ?

Les génériques nous aident à créer des collections flexibles et fortement typées.

Les génériques séparent essentiellement la logique du type de données pour maintenir une meilleure réutilisabilité, une meilleure maintenabilité, etc.

109. Quels sont les polymorphismes des différentes classes ?

Il existe deux types de polymorphisme, ce sont :

Polymorphisme au moment de la compilation

Polymorphisme au moment de l'exécution

110. Qu'est-ce que le polymorphisme au moment de la compilation. la différence entre le polymorphisme et le polymorphisme d'exécution ?

Polymorphisme au moment de la compilation

Le polymorphisme au moment de la compilation est également connu sous le nom de surcharge de méthode.

La surcharge de méthodes fait référence au fait d'avoir deux méthodes ou plus avec le même nom mais des signatures différentes.

Polymorphisme d'exécution

Le polymorphisme d'exécution est également connu sous le nom de remplacement de méthode.

Le remplacement de méthode signifie qu'il existe deux méthodes ou plus portant le même nom, qui contiennent la même signature de méthode mais correspondent à des implémentations différentes.

111. Quel espace de noms rend possible la programmation multithread en XML ?

Système.Threading.

112. Pouvez-vous déclarer un bloc statique en C# ?

Non, car C# ne prend pas en charge les blocs statiques, mais il prend en charge les méthodes statiques.

113. Une méthode peut-elle être déclarée scellée ?

Les méthodes ne peuvent pas être déclarées scellées en C#. Mais lorsque nous substituons une méthode dans une classe dérivée, nous pouvons définir la méthode substituée comme scellée. En le scellant, nous pouvons éviter de contourner davantage cette méthode.

114. Quelle commande est utilisée pour implémenter les propriétés en C# ?

Les modificateurs get et set sont utilisés pour implémenter les propriétés en C#.

115. Que sont les membres statiques ?

est défini comme un membre statique et peut être appelé directement depuis le niveau de la classe plutôt que depuis une instance de classe.

116. Quelle est la syntaxe pour hériter d'une classe en C# ?

Lorsqu'une classe est dérivée d'une autre classe, les membres de la classe de base deviennent les membres dérivés.

Le modificateur d'accès utilisé pour accéder aux membres de la classe de base spécifie le statut d'accès des membres de la classe de base dans la classe dérivée.

La syntaxe pour hériter d'une classe d'une autre classe en C# est la suivante :

class MyNewClass : MyBaseClass

117. Quelle est la différence fondamentale entre while loop et do while. boucle en C# ?

La boucle while teste sa condition au début, ce qui signifie que si la condition est évaluée comme vraie, le bloc d'instructions englobant est exécuté 0 fois ou plus. La boucle do while parcourt le bloc d'instructions au moins une fois, puis vérifie la condition à la fin.

118. Quelle est la principale différence entre les sous-programmes et les fonctions ?

Les sous-programmes n'ont pas de valeurs de retour, contrairement aux fonctions.

119. Qu'est-ce qu'une classe scellée en C# ?

le modificateur scellé est utilisé pour empêcher la dérivation d'une classe. Une erreur de compilation se produit si une classe scellée est spécifiée comme classe de base pour une autre classe.

120. Quelle est la différence entre une classe et une interface ?

Une classe abstraite peut implémenter certains de ses membres, mais une interface ne peut implémenter aucun de ses membres.

Les interfaces ne peuvent pas avoir de champs, mais les classes abstraites peuvent avoir des champs.

Une interface ne peut hériter que d'une autre interface et ne peut pas hériter d'une classe abstraite, alors qu'une classe abstraite peut hériter d'une autre classe abstraite ou d'une autre interface.

Une classe peut hériter de plusieurs interfaces en même temps, mais une classe ne peut pas hériter de plusieurs classes en même temps.

Les membres des classes abstraites peuvent définir des modificateurs d'accès mais les membres de l'interface ne peuvent pas définir de modificateurs d'accès.

121. Quelle est la différence entre les méthodes abstraites et les méthodes virtuelles ?

Les méthodes abstraites ne fournissent pas d'implémentation et obligent les classes dérivées à remplacer la méthode (sauf si la classe dérivée est également une classe abstraite), tandis que les méthodes virtuelles peuvent avoir des implémentations et leur remplacement dans les classes dérivées est facultatif. Par conséquent, des méthodes virtuelles peuvent être implémentées et offrent la possibilité de remplacer par des classes dérivées. Une méthode abstraite ne peut pas fournir d’implémentation et force les classes dérivées à remplacer la méthode.

122. Qu'est-ce qu'une méthode statique ?

Déclarer une méthode statique est possible tant qu'elle ne tente pas d'accéder à des données d'instance ou à d'autres méthodes d'instance.

123. Qu'est-ce que le modificateur Nouveau ?

le nouveau modificateur masque les membres de la classe de base. C# prend uniquement en charge le masquage de signature.

124. Quels sont les avantages des attributs get et set en C# ?

L'accesseur de propriété get est utilisé pour renvoyer la valeur de la propriété.

L'accesseur d'attribut set est utilisé pour définir de nouvelles valeurs.

125. Quelle est la différence entre const et readonly ?

Les champs déclarés par Const ne peuvent pas utiliser le modificateur static, mais en lecture seule peuvent utiliser le modificateur static.

Les champs const ne peuvent être initialisés qu'au moment de la déclaration, tandis que readonly peut être initialisé au moment de la déclaration ou dans le constructeur.

La valeur du champ const est calculée au moment de la conception, tandis que la valeur de readonly est calculée au moment de l'exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn