QCM C# – Framework .NET – Partie 13

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 méthodes suivantes est correcte pour initialiser un tableau ?

A int[] arr = new int[5];

B int[] arr = new int[]{1,2,3,4,5};

C int arr = new int[5]{1,2,3,4,5};

D int[] arr = int[]{1,2,3,4,5};

E int[] arr = {1,2,3,4,5};

A, B, C

 

2. Parmi les affirmations suivantes, laquelle (lesquelles) est (sont) VRAIE(s) ?

A Array est un type de valeur.

B Array est un type de référence.

C Array est un type primitif.

D Aucune de ces réponses

B
Notez que tout tableau(Array) est un type de référence, même si ses membres sont des types de valeur. Étant donné que chaque type de référence représente une classe sous-jacente du Framework .NET, vous devez utiliser le mot-clé New lorsque vous l’initialisez.

 

3. Quel sera le résultat du programme suivant ?
SortedList sl = new SortedList(){
	{2, true},
	{1, "str"},
};

foreach (DictionaryEntry kvp in sl)
{
    Console.WriteLine(kvp.Value);
}

A 12

B 21

C str True

D Erreur de compilation

C
L’instruction foreach du langage C# (for each en Visual Basic) renvoie un objet du type des éléments de la collection. Étant donné que chaque élément de l’objet SortedList est une paire clé/valeur, le type de l’élément n’est pas le type de la clé ou le type de la valeur. Le type de l’élément est plutôt DictionaryEntry. « kvp.Value » affiche la valeur. Le code ci-dessus affiche le résultat suivante:

str
True

 

 
 

4. Quel sera le résultat du programme suivant ?
public static void Main(){
	int val = GetVal(); 
} 

public static int GetVal(){ 
	int[] arr = {1, 2, 3, 4, 5}; 
	try {
		return arr[10]; 
	} catch(Exception ex){ 
		Console.WriteLine("Une erreur s'est produite!"); 
	} finally{ 
		return 0; 
	} 
}

A Une erreur s’est produite!

B Erreur de compilation

C Aucune sortie

D Aucune de ces réponses

B
Le compilateur ne permet pas de quitter la fonction depuis la clause finally. Vous pouvez avoir du code de nettoyage dans la clause finally.

 

5. Quel sera le résultat du programme suivant ?
public static void Main() {
	int[] arr = {1, 2, 3, 4, 5}; 
	try { 
		Console.Write(arr[10]); 
	} 
	finally { 
		Console.WriteLine("Une erreur s'est produite!"); 
	} 
} 

A Une erreur s’est produite!

B Erreur de compilation

C Exception non gérée. System.IndexOutOfRangeException : L’index était en dehors des limites du tableau.

D Aucune de ces réponses

C
Exception: L’index 10 était en dehors des limites du tableau.

 

6. Laquelle des affirmations suivantes est VRAIE ?

A Un délégué est un type de référence.

B Un délégué est un type de valeur.

C Un délégué définit la signature de la méthode.

D Un délégué est un type pointeur.

A, C
Un délégué est un type de référence qui peut être utilisé pour encapsuler une méthode nommée ou anonyme. Les délégués sont similaires aux pointeurs de fonction en C++; cependant, les délégués sont de type sécurisé.

 

 
 

7. Lequel des éléments suivants est la fonction déléguée intégrée pour gérer les événements .NET ?

A public delegate void Action();

B public delegate void Predicate(object sender);

C public delegate void EventHandler(object sender, EventArgs e);

D Aucune de ces réponses

C
public delegate void EventHandler(object sender, EventArgs e); est la fonction déléguée utilisée pour gérer les événements .NET.

 

8. Les événements peuvent également être déclarés static, virtual, sealed et abstract.

A Vrais

B Faux

A
Un événement peut être déclaré comme un événement statique en utilisant le mot-clé static. L’événement est alors disponible à tout moment pour les appelants, même si aucune instance de la classe n’existe. Un événement peut être marqué comme un événement virtuel à l’aide du mot-clé virtual. Exemple:

class Base
{
    public virtual event EventHandler Foo
    {
        add
        {
            Console.WriteLine("La méthode Foo.add est appelée");
        }
        remove
        {
            Console.WriteLine("La méthode Foo.remove est appelée");
        }
    }
}

 

9. Quel sera le résultat du programme suivant ?
public class Program {
	public static void Main() {
		Person p = new Person(); 
		Console.WriteLine(p.Id);
	}
}

public class Person {
	public int Id; 
}

A 0

B null

C " "

D Erreur de compilation

A
La valeur par défaut de int est 0. Les entiers sont des types de valeurs.

 

 
 

10. Lequel des types suivants évite la vérification de type à la compilation et résout le type au moment de l’exécution ?

A var

B dynamic

C undefined

D static

B
Le type dynamic évite la vérification du type au moment de la compilation; au lieu de cela, il résout le type au moment de l’exécution. Les variables de type dynamic sont définies à l’aide du mot-clé dynamic. dynamic MyDynamicVar = 1; Dans la plupart des cas, le compilateur compile les types dynamic en types object.

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

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