QCM C# – Framework .NET – Partie 21

QCM sur C# avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur C# comprennent divers sujets(.NET, les structures, les tableaux, les interfaces, etc …). Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur C#.
 
 

1. Laquelle des affirmations suivantes est vraie à propos des structures C# et des classes C# ?

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

B Les structures ne supportent pas l’héritage.

C Les structures ne peuvent pas avoir de constructeur par défaut

D Tous les réponses sont correctes

D
Tous les réponses sont vraies.

 

2. Quel opérateur invoque le constructeur d’une classe ?

A =

B new

C ()

D var

B
L’opérateur new instancie une classe en allouant de la mémoire pour un nouvel objet et en renvoyant une référence à cette mémoire. L’opérateur new invoque également le constructeur de object.

 

3. Lequel des éléments suivants n’est pas autorisé en C# en tant que modificateur d’accès ?

A public

B friend

C internal

D protected

B
friend n’est pas un modificateur d’accès en C# mais plutôt en C++.

 

 
 

4. Dans le code C# ci-dessous, que signifie this[int i] ?
class MyClass
{
   // ...
   public string this[int i]
   {
      get{ return arr[i];}
      set{ arr[i] = value; }
   }
}

A Propriété

B Événement

C Indexeur

D Délégué

C
Les indexeurs permettent d’indexer les instances d’une classe ou d’une structure, tout comme les tableaux.

 

5. Lequel des mots-clés C# suivants n’a rien à voir avec le multithreading ?

A async

B await

C sealed

D lock

C
Le mot-clé « sealed » en C# est utilisé pour limiter la capacité d’une classe ou d’un membre à hériter d’une autre classe. Une classe ou un membre d’une classe qui porte le mot-clé « sealed » ne peut pas être hérité par une autre classe ou surchargé par une classe dérivée.

 

6. Trouvez une expression invalide parmi les exemples C# Generics suivants.

A class A where T : class, new()

B class A where T : struct, IComparable

C class A where T : class, struct

D class A where T : Stream where U : IDisposable

C
classe et struct ne peuvent pas être utilisées ensemble:

void exemple<T>() where T : class, struct //ne se compile pas !
{    
   //...   
}

 

 
 

7. Le mot-clé new en C# est utilisé pour créer un nouvel objet à partir d’un type. Lequel des éléments suivants n’est pas autorisé à utiliser le mot-clé new ?

A Class: var a = new Class1();

B Interface : var a = new IComparable();

C Struct : var a = new Struct1();

D object : var a = new object();

B
L’interface IComparable définit la méthode CompareTo utilisée pour comparer des objets. L’instanciation des interfaces n’est pas possible.

 

8. Dans l’exemple ci-dessous, button1 est un objet de la classe Button dans WinForms. Quelle est l’expression erronée pour le gestionnaire d’événement de clic ?

A button1.Click += new System.EventHandler(button1_Click);

B button1.Click += delegate { MessageBox.Show("Click"); };

C button1.Click += delegate(EventArgs e){MessageBox.Show("Click");};

D button1.Click += (s, e) => MessageBox.Show("Click");

B
button1.Click += delegate { MessageBox.Show("Click"); }; est une expression erronée par contre les autres expressions.

 

9. Trouvez une affirmation correcte à propos des exceptions en C#

A Les exceptions en C# se produisent au moment de la compilation

B Les exceptions en C# se produit au moment de la liaison

C Les exceptions en C# se produit au moment de la compilation JIT

D Les exceptions en C# se produit au moment de l’exécution

D
Les exceptions en C# se produit au moment de l’exécution.

 

 
 

10. Trouver un prototype de méthode Main() invalide, qui est le point d’entrée en C# ?

A public static void Main()

B public static int Main()

C public static void Main(string[] s)

D public static long Main(string[] args)

D
public static long Main(string[] args) est un prototype de méthode Main() invalide.

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *