QCM C# – Framework .NET – Partie 17

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. Quel sera le résultat du programme suivant ?
public class Program { 
	public static void Main() { 
		int i = 3; 
		int[] arr = new int[i] {10, 20, 30}; 
		Console.Write(arr[0]); 
	} 
}

A 0

B 10

C Erreur d’exécution

D Erreur de compilation

D
Le compilateur exige une expression constante pour la taille du tableau. Vous pouvez déclarer la taille comme const int i, ou laisser le compilateur la calculer à partir de l’expression d’initialisation: int[] arr = new int[] {10, 20, 30};

 

2. Comment déclarer un événement pour le délégué suivant ?
public delegate void ClickHandler(); 

A public ClickHandler OnClick;

B public event ClickHandler OnClick;

C public event void OnClick;

D public ClickHandler event OnClick;

B
Utilisez le mot-clé « event » avec une variable de type délégué pour déclarer un événement. Vous associez un délégué à un événement en incluant le type de délégué dans la déclaration de l’événement. Le code correct est public event ClickHandler OnClick;

 

3. Comment passer une fonction en paramètre en C# ?

A Impossible de passer une fonction en paramètre en C#.

B Utiliser un pointeur.

C Utilisation du paramètre de type « dynamic ».

D Utiliser un délégué.

D
Un délégué est un type qui encapsule une méthode en toute sécurité, comme un pointeur de fonction en C et C++. Contrairement aux pointeurs de fonction en C, les délégués sont orientés objet, sécurisés et sûrs. Le type d’un délégué est défini par son nom. L’exemple suivant déclare un délégué nommé Callback qui peut encapsuler une méthode prenant une chaîne de caractères comme argument et retournant void :

public delegate void Callback(string message);

 

 
 

4. Quel sera le résultat du programme suivant ?
int seize = 0b0001_0000;
Console.WriteLine(seize);

A seize

B 16

C Erreur d’exécution

D Erreur de compilation

B
À partir de C# 7.2, les nombres binaires commencent par 0b ou 0B.

 

5. Parmi les éléments suivants, lesquels peuvent contenir des déclarations d’événements ?

A Class

B Interface

C Struct

D Tous les réponses sont correctes

D
Les événements sont généralement déclarés à l’aide du mot-clé event et d’un type de délégué. La déclaration d’un événement crée un délégué multicast, qui permet à plusieurs gestionnaires d’événements d’être attachés à l’événement.

 

6. Quel sera le résultat du programme suivant ?
public static void Main()
{
   Action<int> afficher = i => Console.Write(i);
   afficher(20);
}

A 0

B 20

C Erreur d’exécution

D Erreur de compilation

B
Le délégué Action est un type de délégué prédéfini qui encapsule une méthode avec zéro ou plusieurs paramètres en entrée et qui ne renvoie pas de valeur.

 

 
 

7. Laquelle des affirmations suivantes est VRAIE ?

A Les méthodes anonymes peuvent accéder à des variables ou à des fonctions extérieures.

B Les méthodes anonymes ne peuvent pas contenir d’instructions de saut telles que goto, break ou continue.

C Une méthode anonyme ne peut pas accéder aux paramètres ref ou out d’une méthode externe.

D Tous les réponses sont correctes

D
Le concept de méthode anonyme a été introduit en C# 2.0. Une méthode anonyme est une méthode inline sans nom dans le code. Elle est créée à l’aide du mot-clé delegate et ne nécessite pas de nom ni de type de retour. On peut donc dire qu’une méthode anonyme n’a qu’un corps sans nom, des paramètres optionnels et un type de retour.

 

8. Lequel des éléments suivants peut être défini comme générique ?

A Class

B Struct

C Delegate

D Enum

A, B, C
C# offre la possibilité de définir des classes génériques, des méthodes, des événements, des délégués et des opérateurs en utilisant le paramètre de type <T> sans spécifier de type de données particulier. Le paramètre de type sert de placeholder pour tout type de données susceptible d’être spécifié ultérieurement.

 

9. Laquelle des contraintes génériques suivantes restreint le paramètre de type générique à un objet de classe ?

A class Processor<T> where T:class

B class Processor<T> where T:object

C class Processor<T>: where T=new()

D class Processor<T> where T:new()

A
Cette déclaration class Processor<T> where T:class restreint le paramètre de type générique à un objet de classe.

 

 
 

10. Les membres d’une interface sont ______ par défaut.

A Private

B Public

C Internal

D Aucune de ces réponses

B
Les membres d’une interface sont public par défaut.

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

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