QCM En Csharp– Partie 2

Question 1 sur 20

1. Quelle est la sortie du code suivant ?
int x = 10, y = 20; Console.WriteLine(x++ * --y);

  • A. 190
  • B. 180
  • C. 200
  • D. 210
B

Le code incrémente d'abord x après avoir utilisé sa valeur (10) et décrémente y avant de l'utiliser. Le résultat est donc 10 * 19 = 180.

Question 2 sur 20

2. Quel mot-clé est utilisé pour empêcher l'héritage d'une classe en C# ?

  • A. sealed
  • B. abstract
  • C. static
  • D. private
A

Le mot-clé sealed empêche une classe d'être héritée.

Question 3 sur 20

3. Que fait l'opérateur ?? en C# ?

  • A. Vérifie l'égalité
  • B. Retourne la valeur à gauche si elle n'est pas nulle, sinon retourne la valeur à droite
  • C. Retourne la valeur à droite si la valeur à gauche est nulle
  • D. Lance une exception si la valeur à gauche est nulle
B

L'opérateur ?? est l'opérateur de coalescence nulle qui retourne la valeur de gauche si elle n'est pas nulle, sinon la valeur de droite.

Question 4 sur 20

4. Quelle est la sortie du code suivant ?
Console.WriteLine("C#".IndexOf('C'));

  • A. 1
  • B. 0
  • C. -1
  • D. Une exception est lancée
B

La méthode IndexOf retourne l'index de la première occurrence du caractère spécifié. Ici, 'C' est à l'index 0.

Question 5 sur 20

5. Quel est le résultat de l'expression suivante ?
int[] arr = {1, 2, 3}; Console.WriteLine(arr[1]);

  • A. 1
  • B. 2
  • C. 3
  • D. Une exception est lancée
B

Les tableaux en C# sont indexés à partir de 0, donc arr[1] fait référence au deuxième élément, qui est 2.

Question 6 sur 20

6. Que signifie le mot-clé virtual en C# ?

  • A. Il empêche la modification de la méthode
  • B. Il permet à une méthode d'être substituée dans une classe dérivée
  • C. Il crée une classe abstraite
  • D. Il crée une méthode statique
B

Le mot-clé virtual permet à une méthode d'être substituée dans une classe dérivée en utilisant le mot-clé override.

Question 7 sur 20

7. Quelle est la différence entre String et string en C# ?

  • A. Aucune différence
  • B. String est un type référence et string est un type valeur
  • C. String est une classe et string est un alias
  • D. string est une classe et String est un alias
C

En C#, string est un alias pour System.String, donc il n'y a pas de différence fonctionnelle.

Question 8 sur 20

8. Quel est le mot-clé utilisé pour hériter d'une classe en C# ?

  • A. derive
  • B. inherit
  • C. base
  • D. extends
C

Le mot-clé base est utilisé pour appeler le constructeur ou les méthodes de la classe parente, mais l'héritage se fait en utilisant simplement un double-point après le nom de la classe.

Question 9 sur 20

9. Que signifie le mot-clé this en C# ?

  • A. Référence à l'objet courant
  • B. Référence à la classe parente
  • C. Référence à la classe actuelle
  • D. Référence à un champ statique
A

Le mot-clé this fait référence à l'objet courant de la classe.

Question 10 sur 20

10. Quel est le type de la variable suivante ?
var x = 10;

  • A. int
  • B. float
  • C. double
  • D. var
A

Le mot-clé var permet au compilateur de déterminer le type de la variable en fonction de la valeur assignée. Ici, x est de type int.

Question 11 sur 20

11. Quelle est la sortie du code suivant ?
int x = 5; x += ++x + x++; Console.WriteLine(x);

  • A. 13
  • B. 15
  • C. 14
  • D. 12
C

Le code incrémente d'abord x (pré-incrémentation), puis utilise sa valeur pour l'ajouter. Enfin, il utilise x++ pour l'ajouter après l'incrémentation, donnant un total de 14.

Question 12 sur 20

12. Quelle est la sortie du code suivant ?
int[] arr = {2, 4, 6, 8}; arr[1] = arr[3]; Console.WriteLine(arr[1]);

  • A. 2
  • B. 4
  • C. 8
  • D. 6
C

Le code assigne la valeur de arr[3] (8) à arr[1], donc arr[1] devient 8.

Question 13 sur 20

13. Quelle méthode est utilisée pour convertir une chaîne en entier en C# ?

  • A. Convert.ToInt32()
  • B. int.Parse()
  • C. Int32.Parse()
  • D. Toutes les réponses ci-dessus
D

Toutes ces méthodes peuvent être utilisées pour convertir une chaîne en entier en C#.

Question 14 sur 20

14. Que retourne la méthode GetType() en C# ?

  • A. Le type de base de l'objet
  • B. Le type runtime de l'objet
  • C. Le type statique de l'objet
  • D. Le type de la classe parente
B

La méthode GetType() retourne le type runtime de l'objet sur lequel elle est appelée.

Question 15 sur 20

15. Quelle est la sortie du code suivant ?
Console.WriteLine("Hello, " + "World!");

  • A. Hello, World!
  • B. HelloWorld!
  • C. Hello,World!
  • D. Une exception est lancée
A

Le code concatène les deux chaînes pour afficher Hello, World!.

Question 16 sur 20

16. Quelle est la différence entre une classe abstract et une interface en C# ?

  • A. Une classe abstract peut avoir des méthodes avec implémentation, une interface ne le peut pas
  • B. Une classe abstract ne peut pas être instanciée, une interface peut l'être
  • C. Une interface peut avoir des champs, une classe abstract ne le peut pas
  • D. Il n'y a aucune différence
A

Une classe abstract peut avoir des méthodes avec implémentation, tandis qu'une interface ne peut pas en avoir (sauf si elles sont default dans les versions plus récentes de C#).

Question 17 sur 20

17. Que fait l'opérateur is en C# ?

  • A. Vérifie si une variable est égale à une autre
  • B. Vérifie si un objet est d'un type donné
  • C. Vérifie si une variable est nulle
  • D. Vérifie si une méthode retourne vrai
B

L'opérateur is vérifie si un objet est d'un type donné en C#.

Question 18 sur 20

18. Quelle est la sortie du code suivant ?
int a = 10; a = a >> 1; Console.WriteLine(a);

  • A. 5
  • B. 10
  • C. 20
  • D. 15
A

Le code décale les bits de a d'une position vers la droite, divisant la valeur par 2. Le résultat est donc 5.

Question 19 sur 20

19. Que fait l'opérateur typeof en C# ?

  • A. Retourne le type runtime d'une variable
  • B. Retourne le type statique d'une variable
  • C. Retourne le type d'une variable sous forme de chaîne
  • D. Aucune des réponses ci-dessus
B

L'opérateur typeof retourne le type statique (compile-time) d'une variable en C#.

Question 20 sur 20

20. Quel mot-clé est utilisé pour définir une classe partielle en C# ?

  • A. partial
  • B. static
  • C. sealed
  • D. abstract
A

Le mot-clé partial est utilisé pour définir une classe partielle, ce qui permet de la répartir sur plusieurs fichiers.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.