QCM C# avec correction exemple 1

Le C# (prononcé "C sharp") est un langage de programmation orienté objet, développé par Microsoft. Il a été conçu pour la plateforme .NET et est souvent utilisé pour créer des applications Windows, des applications Web et des jeux vidéo. Le C# est un langage de programmation moderne qui prend en charge de nombreuses fonctionnalités, telles que l'encapsulation, l'héritage, le polymorphisme, les délégués, les événements, les expressions lambda, les classes anonymes et la gestion de la mémoire automatique.

Le C# est similaire à d'autres langages de programmation orientés objet, tels que Java et C++, mais il a été conçu pour être plus simple et plus sûr. Par exemple, il inclut des fonctionnalités telles que la gestion automatique de la mémoire pour éviter les erreurs de mémoire courantes telles que les fuites de mémoire et les pointeurs invalides.

Le C# est largement utilisé dans l'industrie du logiciel, en particulier pour les applications Windows et les jeux vidéo, ainsi que pour le développement d'applications pour la plateforme .NET.


Qu'est-ce que le C# ?

C# se prononce "C-Sharp".

Il s'agit d'un langage de programmation orienté objet créé par Microsoft qui s'exécute sur le .NET Framework.

C# a des racines dans la famille C, et le langage est proche d'autres langages populaires comme C++ et Java.

La première version est sortie en 2002. La dernière version, C# 10, est sortie en novembre 2021.

C# est utilisé pour :

Applications mobiles
Applications de bureau
des applications Web
services Web
Sites Internet
Jeux
RV
Applications de base de données
Et bien plus encore!
 


1 CLR signifie ...?

A Common Local Runtime

B Common Language Runtime

C Common Language Realtime

D Common Local Realtime

B

Le CLR (Common Language Runtime) est un environnement d’exécution faisant partie du framework .NET de Microsoft. CLR gère l’exécution des programmes écrits dans différentes langages prises en charge. CLR transforme le code source en une forme de code secondaire appelée CIL (Common Intermediate Language). Au moment de l’exécution, CLR gère l’exécution du code CIL.

2 CLR est responsable de ...?

A Garbage-collector

B Sécurité d’accès au code

C Vérification du code

D Tout les réponses sont vrais

D

Le CLR (Common Language Runtime) est responsable du garbage-collector(ramasse-miettes), sécurité d’accès et vérification du code

3 GAC signifie ...?

A Global Assembly Cache

B Global Assembly Store

C Garbage Assemble Cache

D Global Advanced Cache

A

Le Global Assembly Cache (GAC) est un dossier du répertoire Windows (\windows\assembly) dans lequel sont stockés les « assembly » .NET spécifiquement désignés pour être partagés par toutes les applications exécutées sur un système. Le concept de GAC est le résultat de l’architecture .NET dont la conception répond au problème de « DLL » qui existait dans COM (Component Object Model). Contrairement à COM, il n’est pas nécessaire que le montage dans GAC soit enregistré avant son utilisation. L’accès à chaque « assembly » est global, sans conflit, en identifiant son nom, sa version, son architecture et sa clé publique.

4 GAC ...?

A Stocke les « assembly » .net partagés entre plusieurs applications.

B Stocke les dll globales.

C Mettre en cache les données d’application.

D Aucune de ces réponses

A

Global Assembly Cache (GAC) stocke les « assembly » .NET partagés entre plusieurs applications.

5 Quels sont les types de JIT...?

A Pre-JIT

B Econo-JT

C Normal-JIT

D Tout les réponses sont vrais

D

Just-in-time (JIT) est un terme utilisé pour décrire une action telle que la compilation ou l’activation d’un objet uniquement au moment où cela devient nécessaire. Ce terme est principalement associé à la compilation de logiciels. La compilation JIT est principalement conçue pour l’exécution de code à grande vitesse et la prise en charge de plusieurs plates-formes. La compilation JIT est née de la nécessité pour un compilateur d’assumer des responsabilités en plus de la conversion en code objet (instructions machine) à partir d’un langage de haut niveau. Les compilateurs JIT facilitent la portabilité vers plusieurs systèmes d’exploitation et plates-formes matérielles. Des langages tels que Java et C# prennent en charge la compilation JIT. Il existe trois types de compilateurs JIT: Pre-JIT: Compile l’intégralité du code source lors de la compilation et est utilisé au moment du déploiement. Econo-JIT: Compile les méthodes appelées lors de l’exécution. Normal-JIT: Compile uniquement les méthodes appelées lors de l’exécution (au moment de leur premier appel) et stocke le code compilé dans la mémoire cache à utiliser lors des appels suivants.

6 Garbage collector (GC) comprend.....générations.

A Un

B Deux

C Trois

D Cinq

C

Il y a trois générations: *La génération 0 identifie un objet nouvellement créé qui n’a jamais été marqué pour la collecte. *La génération 1 identifie un objet qui a survécu à un GC (marqué pour la collecte mais non supprimé parce qu’il y avait suffisamment d’espace de tas) *La génération 2 identifie un objet ayant survécu à plus d’un balayage du GC.

7 Comment forcer le garbage-collector à s’exécuter?Utilisation de la méthode:

A GC.Run()

B GC.Collect()

C GC.Collection()

D GC.Finalize()

B

System.GC.Collect() force l’exécution du garbage-collector.

8 IL en .Net signifie...?

A Intermediate Language

B International Language

C Interoperate Language

D Intermediate Local

A

Intermediate language (IL) ou le langage intermédiaire est un langage de programmation orienté objet conçu pour être utilisé par les compilateurs pour le Framework .NET. Le Framework .NET utilise IL pour générer du code indépendant de la machine en tant que sortie de la compilation du code source écrit dans n’importe quel langage de programmation .NET.

9 Quel outil est utilisé pour voir le code IL...?

A Util.exe

B IL.exe

C GACUtil.exe

D IDASM.EXE

D

ILDASM (IL Disassembler) est un excellent outil pour ceux qui veulent voir le code IL. Cet outil est utilisé pour afficher Le contenu de l’assembly pour tous les composants de code. Cet outil est installé avec votre Visual Studio et peut être accessible de manière traditionnelle à l’invite de commande de Visual Studio. Pour ouvrir l’ILDASM: 1- Ouvrez l’invite de commandes de Visual Studio. 2- Exécuter la commande ILDASM.

10. Que signifie le terme « boxing » en .net...?

A Convertit le type de valeur en objet

B Convertit le type de référence en type de valeur

C Convertit le type primitif en type valeur

D Aucune de ces réponses n’est vraie

A

Boxing est le processus de conversion d’un type de valeur en type d’objet ou en tout type d’interface implémenté par ce type de valeur. Lorsque le CLR encadre un type de valeur, il encapsule la valeur dans un « System.Object » et la stocke dans le segment de mémoire géré. Unboxing extrait le type de valeur de l’objet.

  // Boxing:
  int n = 123;
object obj = n;
 
 
 //Unboxing:
 obj = 123;
i = (int)obj;
  
  

11 Les métadonnées de l’ « assembly » .Net sont stockées dans quel fichier...?

A .dll

B .exe

C manifest

D core

C

Le manifeste contient ces métadonnées d’ « assembly ». Un manifeste contient toutes les métadonnées nécessaires pour spécifier les exigences de l’ « assembly » et l’identité de sécurité, ainsi que toutes les métadonnées nécessaires pour définir la portée de l’ « assembly » et résoudre les références aux ressources et aux classes. Le manifeste peut être stocké dans un fichier PE (un fichier .exe ou .dll) avec le code MSIL (Microsoft Intermediate Language) ou dans un fichier PE autonome contenant uniquement les informations du manifeste.

12 CTS (Common Type System) gère ...?

A Communication entre plusieurs langues

B Types de valeur

C Types de référence

D Tous les types de données en .net

A

Dans le Framework .NET , Common Type System (CTS) est une norme qui spécifie comment les définitions et les valeurs spécifiques d’un type sont représentées dans la mémoire de l’ordinateur. Il est destiné à permettre aux programmes écrits dans différents langages de programmation de partager facilement des informations.

13 Lequel des types suivants peut contenir une valeur de n’importe quelle taille...?

A Int32

B Double

C Long

D BigInteger

D

Il n’y a pas de limite théorique. La classe BigInteger alloue autant de mémoire que nécessaire pour tous les bits de données qu’il lui est demandé de conserver.

14. Qu’est-ce que le « Code Access Security (CAS) »...?

A Il empêche l’accès non autorisé du code source.

B Empêche l’accès non autorisé aux ressources et aux opérations et limite le code pour l’exécution de tâches particulières.

C Il empêche l’accès non autorisé au dll et exe.

D Aucune de ces réponses n’est vraie.

B

CAS est la solution pour empêcher le code non approuvé d’effectuer des actions privilégiées. Lorsque le CLR charge un assembly, il obtient des preuves de l’assembly et l’utilise pour identifier le groupe de codes auquel appartient l’assembly. Un groupe de codes contient un ensemble d’autorisations (une ou plusieurs autorisations).

15 Laquelle des méthodes suivantes demande au garbage-collector de ne pas appeler finalize...?

A GC.Collect(int)

B GC.Dispose()

C GC.Cancel()

D GC.SuppressFinalize()

D

« SuppressFinalize » ne doit être appelé que par une classe disposant d’un « finalizer ». Il informe le Garbage Collector (GC) que cet objet a été entièrement nettoyé.

16. Quel est l’espace de noms qui le père pour tous les types dans le framework .Net...?

A System.Object

B System.Web

C System.IO

D System.File

A

C# a un système de types unifié, ce qui signifie que tous les types héritent, directement ou indirectement, de Objet (System.Object). Cela inclut les types de référence et de valeur. Il inclut également tous les types primitifs, tels que int et bool, ainsi que tous les types fournis dans le Framework .NET et tous les types personnalisés que vous définissez.

17 Quelles sont les fonctionnalités suivantes introduites dans .Net 3.5...?

A WCF

B WWF

C WPF

D Tout les réponses sont vrais

A

La version .Net 3.5 comprend les composants principaux suivants: Microsoft Windows Communication Foundation(WCF) Microsoft Windows Presentation Foundation(WPF) Microsoft Windows Workflow Foundation(WWF) Windows Communication Foundation (WCF) est une infrastructure permettant de créer des applications orientées services. À l’aide de WCF, vous pouvez envoyer des données sous forme de messages asynchrones d’un point de terminaison de service à un autre. Microsoft Windows Workflow Foundation (WWF) fournit une plate-forme basée sur le Framework .Net pour la création de flux de travail. Windows Presentation Foundation (WPF) dans Visual Studio fournit aux développeurs un modèle de programmation unifié pour la création des applications métiers sur Windows.

18 Quelles sont les caractéristiques de .Net 4.5...?

A Bibliothèque de classe portable

B Traitement en parallèle

C .Net pour les applications du Windows Store

D Tout les réponses sont vrais

D

Fonctionnalités .Net Framework 4.5 *Applications .NET pour Windows Store *Bibliothèques de classes portables *Principales fonctionnalités et améliorations *Traitement en parallèle *Web *Outils *Windows Presentation Foundation (WPF) *Windows Communication Foundation (WCF) *Windows Workflow Foundation (WF)

19 Le code qui s’exécute sous CLR s’appelle...?

A Code managé

B Code non managé

C Code COM

D Code PIN

A

Le CLR (Common Language Runtime) est un environnement qui gère l’exécution du code et fournit des services de développement d’applications. Des compilateurs tels que VB.NET exposent les fonctionnalités du CLR pour permettre aux développeurs de créer des applications. Le code créé dans cet environnement est appelé code managé. Notez que les composants COM ne sont pas du code managé, bien qu’ils puissent (ainsi que d’autres codes non managés) être utilisés dans des applications construites sous le CLR.

20 Lequel des éléments suivants n’est pas un type de données valide dans .Net...?

A Double

B Int32

C Int16

D MIME

D

Les types disponibles dans le framework .Net sont : *Entier signée: sbyte, short, int, long. *Entier non signée: octet, ushort, uint, ulong. *Caractères Unicode: char. *Virgule flottante IEEE: float, double. *Décimal de haute précision: decimal. *Boolean: bool.