1. Qu'est-Ce Que C# Exactement ?
Microsoft C#
est une application contemporaine, polyvalente, programmation orientée objet Langue. C# est destiné à l'infrastructure de
langage commun (CLI), qui comprend un code exécutable et un environnement
d'exécution qui permet l'utilisation de nombreux langages de haut niveau sur
divers systèmes et architectures informatiques.
2. Qu'est-Ce Qui Distingue Le C# Du
C ?
C est
généralement connu comme le langage procédural, tandis que C # est plus orienté
objet. La principale distinction est que C # permet la collecte automatisée des
ordures via le Common Language Runtime (CLR), alors que C ne le fait pas. C #
nécessite le framework .NET pour s'exécuter, alors que C est un langage
indépendant de la plate-forme.
3. Qu'est-Ce Qu'une Classe
Exactement ?
Une classe
sert de modèle pour créer des objets. Avec les techniques, il a des attributs.
A partir d'une même classe, on peut produire plusieurs instances d'un objet.
4. Qu'est-Ce Qu'un Objet Exactement ?
Une instance de classe connue
sous le nom d'objet est la façon dont nous accédons aux fonctionnalités d'une
classe. Pour construire un objet, nous pouvons utiliser le mot-clé
"new". Les fonctions, les membres de données et le comportement d'une
classe qui produit un objet en mémoire sont stockés.
5. Quelle Est La Distinction Entre
Les Termes Statique, Public Et Vide ?
N'importe où
dans le programme peut accéder à des variables définies publiquement. Les
variables statiques sont accessibles globalement sans qu'il soit nécessaire de
créer une instance de classe. En C#, un modificateur de type appelé Void est
utilisé pour indiquer le type de retour d'une méthode.
6. Définissez Les Constructeurs.
Un
constructeur est une fonction membre spécifique à une classe. Lorsqu'un objet
est formé, le constructeur est appelé automatiquement. La classe construit
toutes les valeurs des données membres lors de son initialisation.
7. Qu'est-Ce Que C# Dans La
Récupération De Place ?
Le processus
de nettoyage de la mémoire qui a été occupée par des éléments indésirables est
connu sous le nom de récupération de place. Une certaine quantité de mémoire
est automatiquement affectée à un objet de classe lorsqu'il est créé dans la
mémoire de tas. Maintenant que vous avez fini de travailler sur l'élément,
l'espace mémoire qu'il occupait auparavant est perdu. La mémoire doit être
libérée.
8. Que Signifie Exactement
Structure En C# ?
En C#, une
structure est un type de données composé de nombreux types de données, tels que
des méthodes, des champs, des constructeurs, des constantes, des propriétés,
des indexeurs, des opérateurs et même d'autres structures. Une structure
facilite la consolidation de nombreux types de données en une seule unité. En
ce sens, ils sont analogues à des cours. Les structures sont des types valeur,
tandis que les classes sont des types référence.
9. Comment Le Code C# Est-Il
Compilé ?
Lorsqu'un
projet est créé, le code source C# est compilé en langage intermédiaire (IL).
IL est une collection d'instructions qui génère du code machine à exécuter sur
un processeur de machine. Le code est envoyé du préprocesseur au compilateur,
puis à l'assembleur et enfin à l'éditeur de liens en quatre étapes.
10. Décrivez Clairement Les
Différentes Classes C#.
- Statique : C'est le genre de classe qui ne
peut pas être instancié, donc on ne peut pas utiliser le mot clé new pour
en faire un objet, mais on peut appeler directement les membres de la
classe en utilisant leur nom de classe.
- Abstract : Pour définir des classes
abstraites, utilisez le mot-clé abstract. Aucun objet ne peut être créé
pour les classes abstraites. Il doit être hérité dans une sous-classe si
vous souhaitez l'utiliser. Des définitions simples de méthodes abstraites
et non abstraites sont autorisées dans une classe abstraite.
- Partiel : cette classe vous permet de
séparer vos propriétés, méthodes et événements dans plusieurs fichiers
source, qui sont ensuite combinés en une seule classe au moment de la
construction.
- Scellé : Une classe scellée ne peut pas être
héritée d'une autre classe et a des caractéristiques limitées. Les
modificateurs d'accès ne peuvent pas être ajoutés à la classe scellée.
11. Que Sont Exactement Les Jagged
Arrays ?
Un tableau
avec des éléments de tableau est appelé tableau en escalier. Les éléments des
Jagged Arrays peuvent être de plusieurs formes et tailles.
12. Quelle Est La Différence Entre
Les Paramètres Out Et Ref ?
Lorsque vous
donnez un argument en tant que référence, le paramètre doit être initialisé
avant d'être passé à la méthode. Un paramètre out, en revanche, n'a pas besoin
d'être initialisé avant d'être fourni à une méthode.
13. En C#, Qu'est-Ce Qu'un
Destructeur ?
Un destructeur
est un type de méthode en C# qui fait partie d'une classe. La fonction
principale d'un destructeur est de supprimer les instances d'une classe
lorsqu'elles ne sont plus nécessaires afin de libérer de la mémoire. Les
destructeurs sont parfois appelés finaliseurs.
14. En C#, Qu'est-Ce Qu'un Indexeur
?
Les indexeurs
sont utilisés en C# pour rechercher des instances d'une classe ou d'une
structure. Les valeurs indexées sont donc accessibles de la même manière qu'un
tableau, mais sans avoir à déclarer explicitement un type ou un membre
d'instance.
15. Quelle Est La Différence Entre
Le Code Managé Et Non Managé ?
Le code managé
vous permet d'exécuter du code dans le framework .NET sur un environnement
d'exécution CLR managé.
Le code
contrôlé s'exécute sur l'environnement d'exécution géré plutôt que sur le
système d'exploitation. Fournit une variété de services tels qu'un collecteur
de déchets, la gestion des exceptions, etc.
Le code non
managé est un code qui ne s'exécute pas sur le CLR et fonctionne en dehors du
framework .NET. Ils ne fournissent pas de services linguistiques de haut niveau
et fonctionnent donc sans eux. C++ en est un exemple.
16. Décrire La Sérialisation.
Un flux
d'octets doit être créé à partir de l'élément afin de le transférer sur un
réseau. La sérialisation est l'acte de transformer un élément en un flux
d'octets. L'interface de sérialisation doit être implémentée pour qu'un article
soit sérialisable. Le contraire de la construction d'un objet à partir d'un
flux d'octets est appelé désérialisation.
17. En C#, Comment Les Champs Et
Les Propriétés Varient-Ils Les Uns Des Autres ?
Un champ est
un membre de classe ou un objet de toute sorte qui sert d'emplacement pour
stocker des données, tandis qu'une propriété est un membre de classe qui offre
une méthode pour lire, écrire et calculer la valeur d'un champ privé.
18. Comment Pouvez-Vous Décrire En
Détail L'utilisation D'instructions En C# ?
L'instruction
using est utilisée pour restreindre l'utilisation d'une ou plusieurs ressources
au sein de l'application. Les ressources sont consommées et libérées sur une
base constante.
Le travail
principal de cette instruction est de gérer les ressources indésirables et de
les libérer automatiquement. Une fois que l'objet qui utilise la ressource est
formé, assurez-vous que la fonction dispose de l'objet est appelée pour libérer
les ressources requises par cet objet ; c'est ici que l'utilisation
d'instructions est utile.
19. Comment Implémenteriez-Vous De
Nombreuses Interfaces Avec Le Même Nom De Méthode Dans La Même Classe ?
Pour
implémenter plusieurs interfaces avec le même nom de méthode, évitez de les
implémenter dans le corps de la fonction. Au lieu de cela, vous fourniriez le
nom de l'interface directement dans le corps de la méthode. Le compilateur
reconnaîtra quelles méthodes d'interface sont référencées, résolvant le
problème.
20. En C#, Quelle Est La Distinction Entre Task
Et Thread ?
Un thread est un véritable
thread du système d'exploitation avec ses propres ressources de pile et de
noyau. Thread fournit le plus de contrôle. Le thread vous permet d'abandonner
(), de suspendre () ou de reprendre (). Le statut d'un thread peut être observé
ou ses attributs, tels que la taille de la pile, l'état de l'appartement et la
culture, peuvent être définis. Le CLR conserve un pool de threads encapsulés
par ThreadPool.
La bibliothèque parallèle de
tâches a une classe appelée Task. Contrairement au ThreadPool, la tâche n'a pas
son propre thread de système d'exploitation. Les tâches sont exécutées par le
TaskScheduler, bien que le planificateur par défaut soit exécuté par le
ThreadPool. Il est possible d'être notifié lorsqu'une Tâche se termine et
d'obtenir un résultat.
21. Qu'est-Ce Que La Fonction Finalize En C# ?
La classe d'objets utilisée
pour les actions de nettoyage définit la fonction finalize(). Lorsqu'une
référence à un objet n'est pas utilisée pendant une période prolongée, le
ramasse-miettes appellera souvent cette fonction.
Le ramasse-miettes libère
automatiquement les ressources contrôlées, mais si vous souhaitez libérer des
ressources inutiles telles que des descripteurs de fichiers, des connexions de
données, etc., vous devez explicitement implémenter la fonction finalize.
22. Faites Une Distinction Entre Finaliser Les
Blocs Et Finaliser.
Le bloc terminé est appelé
une fois les blocs try-and-catch terminés car il est nécessaire pour la gestion
des exceptions. Le bloc de code est exécuté, que l'exception ait été
interceptée ou non. Le code du bloc est généralement plus propre.
La méthode finalize est
invoquée juste avant la récupération de place. Les principales responsabilités
de la méthode finalisée sont de nettoyer le code non managé, qui est
automatiquement déclenché chaque fois qu'une instance n'est pas rappelée.
23. Décrivez En Détail La Méthode Dispose De C#.
La fonction disposeof()
libère les ressources inutilisées d'un objet. Ressources inutilisées, telles
que des fichiers, des connexions de données, etc. Cette fonction est spécifiée
dans l'interface IDisposable, qui est implémentée par la classe en déclarant le
corps de l'interface IDisposable.
La fonction dispose n'est pas
appelée automatiquement ; le programmeur doit l'implémenter manuellement pour
une utilisation efficace des ressources.
24. Qu'est-Ce Que La Surcharge De Méthode C# ?
Élucider.
La surcharge de méthode est une
approche typique en C# qui est utilisée pour construire un certain nombre de
méthodes avec le même nom et des signatures spécifiées. Cette procédure est
répétée avec la même classe.
Lorsque la procédure de
surcharge de méthode est terminée, le compilateur commence les opérations pour
appeler les actions spécifiées en fonction de la surcharge de méthode.
25. Quelle Est La Différence Entre Lecture Seule
Et Constantes ?
Les variables constantes sont
déclarées et initialisées lors de la compilation. Après cela, cette valeur ne
peut plus être modifiée. D'autre part, la lecture seule est utilisée une fois
qu'une valeur a été allouée au moment de l'exécution.
26. Que Sont Le Contrôle Utilisateur Et Le
Contrôle Personnalisé ?
Le code compilé est utilisé
pour développer des contrôles personnalisés. Ceux-ci peuvent être inclus dans
la boîte à outils et sont faciles à utiliser. En faisant glisser et en déposant
ces contrôles, les développeurs peuvent les inclure dans leurs formulaires Web.
Les contrôles utilisateur et
les fichiers inclus dans ASP sont assez similaires. Ils sont aussi simples à
réaliser. Les contrôles utilisateur, en revanche, ne peuvent pas être ajoutés à
la boîte à outils. Ils ne peuvent pas non plus être tirés et laissés tomber.
27. En C#, Qu'est-Ce Qu'un Délégué Multicast ?
Un délégué multicast
maintient des références ou des adresses à plusieurs fonctions en même temps.
Lorsque nous invoquons le délégué multicast, il invoquera également toutes les
autres fonctions auxquelles il se réfère. Pour appeler plusieurs méthodes, utilisez
toute la signature de la méthode, tout comme le délégué.
28. Qu'est-Ce Que La Mise En Pool
D'objets En C# ?
La mise en
commun d'objets est une technique de conception de logiciels qui recycle les
choses plutôt que de les reconstruire. Pour ce faire, il stocke les éléments
choisis dans un pool et les rend disponibles pour une utilisation lorsqu'une
application les demande. Cette procédure améliore les performances en réduisant
la génération d'objets inutiles.
29. Que Sont Exactement Les
Génériques En C#.NET ?
Les génériques
sont utilisés pour créer des classes de code réutilisables afin de réduire la
redondance du code, d'améliorer la sécurité des types et d'améliorer la
vitesse. Nous pouvons construire des classes de collection avec des génériques.
Dans le
système, un espace de noms générique doit être utilisé à la place de classes
comme ArrayList. Espace de noms pour les collections. L'utilisation de types
paramétrés est encouragée par les génériques.
30. Est-Il Possible De Remplacer
Une Méthode Virtuelle Privée ?
Une méthode
virtuelle privée ne peut pas être remplacée car elle est privée pour la classe
et n'est pas accessible depuis l'extérieur de celle-ci.
31. Faire La Différence Entre La
Surcharge De Méthode Et Le Remplacement De Méthode En C# ?
Le
remplacement de méthode est le processus de modification de la définition
fondamentale d'une classe dérivée. Les méthodes de la classe dérivée se
comportent finalement différemment en raison de cette stratégie.
La surcharge
de méthode, d'autre part, peut être décrite comme le fait de générer de
nombreuses méthodes avec le même nom mais des signatures distinctes sous la
même classe.
32. En C#, Quelle Est La Différence
Entre String Et StringBuilder ?
Un objet
chaîne est immuable, ce qui signifie qu'il ne peut pas être modifié une fois
qu'il a été créé. Toute tentative de modification de l'objet chaîne entraînera
la création d'un nouvel objet chaîne.
Un objet
générateur de chaînes, en revanche, est malléable et peut être modifié comme le
développeur le juge approprié.
33. Que Sont Exactement Les
Délégués ?
En C++, les
délégués sont fondamentalement les mêmes que les pointeurs de fonction. La
seule distinction entre les deux est que les délégués sont de type sécurisé
alors que les pointeurs de fonction ne le sont pas. Les délégués sont
nécessaires car ils permettent la construction de fonctions génériques de type
sécurisé.
34. Quand Devriez-Vous Utiliser Le
Multithreading En C# Et Quand Devriez-Vous L'éviter ?
Le multithreading,
souvent appelé threading, est une approche efficace pour augmenter la vitesse
d'un programme dans lequel de nombreuses activités s'exécutent simultanément.
Il permet à divers threads de s'exécuter indépendamment, plutôt que d'attendre
que l'étape précédente soit terminée. Cela a la capacité d'augmenter le rythme
d'un programme.
Cependant,
lorsque plusieurs processus du programme sont interconnectés, le multithreading
n'est pas recommandé. Par exemple, si l'étape B dépendait de l'exécution de
l'étape A en premier, le multithreading entraînerait des problèmes de
performances et des défauts logiciels. Le threading devient de plus en plus
sensible à mesure qu'un programme gagne en complexité.
35. En C#, Qu'est-Ce Qu'un Délégué
Multicast ?
Un délégué de
multidiffusion en C#, par opposition à un délégué de base, fait référence à de
nombreuses méthodes cibles. Lorsqu'un délégué multidiffusion est utilisé,
toutes les fonctions pointées par le délégué sont appelées. Ils sont
implémentés à l'aide de la classe MulticastDelegate du système.
36. En C#, Quelle Est La
Distinction Entre La Liaison Tardive Et La Liaison Précoce ?
- La liaison précoce a lieu au moment de la
compilation, tandis que la liaison tardive a lieu pendant l'exécution.
- La liaison tardive est souvent plus lente
que la liaison précoce car elle se produit au moment de l'exécution.
- Contrairement à la liaison tardive, qui
utilise l'objet pour résoudre les appels de méthode, la liaison anticipée
résout les appels de méthode à l'aide des informations de classe.
37. Différencier Directcast Et
Ctype ?
Le type
d'objet qui nécessite que le type d'exécution corresponde au type spécifié dans
DirectCast est converti à l'aide de DirectCast.
Lorsqu'une
conversion est spécifiée entre une expression et un type, Ctype est utilisé.
38. Comment HashSet Est-Il Utilisé
En C# ?
En C#, un
HashSet est une collection non ordonnée de valeurs distinctes. En général, il
est utilisé pour empêcher l'insertion d'éléments en double dans une collection,
et il fonctionne mieux qu'une liste pour cette tâche.
La classe
HashSet, qui est issue de System, est utilisée pour l'implémenter.
39. Veuillez Expliquer Le
Regroupement De Threads En C#.
En C#, un pool
de threads est une collection de threads. Ces threads sont utilisés pour
effectuer des tâches sans interférer avec la fonctionnalité du thread
principal. Un thread dans un pool de threads retourne au pool de threads
lorsqu'il a fini de s'exécuter.
La classe
System contient des classes qui gèrent le thread dans le pool de threads et ses
actions. Filetage. ThreadPool est un espace de noms.
40. Quelle Est La Différence Entre
Les Mots-Clés Const Et ReadOnly En C# ?
- ReadOnly ne peut pas être déclaré dans la
méthode, alors que Const le peut.
- Const est une constante de compilation,
tandis que ReadOnly est une constante d'exécution.
- Les valeurs ReadOnly peuvent être modifiées,
mais pas les valeurs Const.
41. Quels Détails Concernant Le
Fichier C# XSD Pouvez-Vous Fournir ?
XSD signifie XML Schema Definition. Si aucun fichier XSD n'est connecté au fichier XML, il
peut avoir n'importe quels attributs, éléments et balises. Le fichier XSD
fournit un cadre pour le fichier XML, déterminant quels composants et attributs
doivent être présents dans le fichier XML ainsi que leur ordre.
42. Que Signifient Pour Vous Les
Propriétés Get Et Set Accessor ?
En C #, Get et
Set sont appelés accesseurs car ils sont créés à l'aide de propriétés. Une
propriété permet de lire et d'écrire dans la valeur d'un champ privé. Ces
champs privés sont accessibles via des accesseurs.
Alors que la
propriété Get est utilisée pour renvoyer la valeur d'une propriété, la
propriété Set est utilisée pour définir la valeur.
43. Qu'est-Ce Que L'injection De Dépendances En
C# ?
L'injection de dépendances
(DI) est une technique de conception en C # utilisée pour créer une
programmation à liens lâches. Cette procédure transfère la création et la
liaison des objets dépendants en dehors de la classe sur laquelle ils reposent.
L'objectif principal est de rendre les futures modifications de code plus
gérables.
Aucun commentaire:
Enregistrer un commentaire