QCM C# – Framework .NET – Partie 15

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 ?
long b = 99;  
float c = 99.0F;  
b = c;

A Rien ne se passe

B Code s’exécute avec succès

C Erreur d’exécution

D Erreur de compilation

D
Erreur: Impossible de convertir implicitement le type ‘float’ en ‘long’. Vous ne pouvez pas assigner un long à un float parce que 8 est plus grand que 4.

 

2. Quel sera le résultat du programme suivant ?
long b = 99;  
float c = 99.0F;  
c = b;

A Rien ne se passe

B Code s’exécute avec succès

C Erreur d’exécution

D Erreur de compilation

B
Un long est composé de 8 octets et un float de 4 octets. Vous pouvez assigner la valeur float dans un Long parce que 4 est plus petit que 8.

 

3. Quel sera le résultat du programme suivant ?
public class Program { 
	public static void Main() {
		Console.Write((int)JoursTravail.Mercredi);
	} 
} 

enum JoursTravail {
	Lundi, 
	Mardi=0, 
	Mercredi=0, 
	Jeudi, 
	Vendredi 
}

A 0

B Mercredi

C Erreur de compilation

D Erreur d’exécution

A
Le code ci-dessus affiche la valeur de JoursTravail.Mercredi qui est 0.

 

 
 

4. Laquelle des affirmations suivantes est correcte à propos des structures (struct) ?

A struct est un type de valeur.

B La mémoire pour struct est allouée sur le tas.

C struct est utile pour stocker de grandes quantités de données.

D struct peut inclure un constructeur et des méthodes.

A
Les structures sont similaires aux classes en ce sens qu’elles représentent des structures de données qui peuvent contenir des membres de données et des membres de fonctions. Toutefois, contrairement aux classes, les structs sont des types de valeurs et ne nécessitent pas d’allocation au tas.

 

5. Quel sera le résultat du programme suivant ?
public static void Main(string[] args) { 
	Point p; 
	p.x=10; 
	Console.Write(p.x); 
} 

struct Point { 
	private int _x; 
	public int x{ 
		get{ 
			return _x; 
		} 
		set{ 
			_x = value;
		} 
	}
}

A 0

B 10

C Erreur d’exécution

D Erreur de compilation

C
P n’est jamais initialisé à un objet Point, il est donc nul – tout appel à un membre de la variable entraînera une exception de type NullReferenceException.

Vous devez initialiser la variable avant de l’utiliser :

var p = new Point();

 

6. Laquelle des déclarations de tableau suivantes est valide ?

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

B int[,] arr = new int[5,2];

C int[][,] arr = new int[5][,];

D Tous les réponses sont correctes

D
Tous les réponses sont correctes.

 

 
 

7. Quel sera le résultat du programme suivant ?
HashSet hs = new HashSet(){ 
	1,1,2,3,3 
}; 
foreach(var val in hs) 
	Console.Write(val);

A 11233

B 123

C Erreur d’exécution

D Erreur de compilation

B
HashSet est une collection non ordonnée d’éléments uniques. Il a été introduit dans .NET 3.5 et se trouve dans System.Collections.

 

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

A Une erreur s’est produite!

B Une erreur d’index s’est produite

C Une erreur Nulle s’est produite!

D Erreur de compilation

D
Les blocs de catch sont évalués dans l’ordre dans lequel ils apparaissent dans le code. La déclaration d’exception de chaque bloc catch détermine le type d’exception que le bloc catch gère. Les blocs catch doivent toujours être classés du plus spécifique au plus général. Ainsi, dans l’exemple précédent, IndexOut0fRangeException et NullReferenceException doivent êtres placés avant le bloc de catch général Exception.

 

9. 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 Une erreur s’est produite! Index was outside the bounds of the array.

C Erreur d’exécution

D Erreur de compilation

B
Le code affiche « Une erreur s’est produite! Index was outside the bounds of the array. » (L’index était en dehors des limites du tableau.)

 

 
 

10. Quel sera le résultat du programme suivant ?
public static void Main() { 
	int?[] arr = new int?[5]; 
	Console.WriteLine(arr[0]);
}

A 0

B null

C Erreur d’exécution

D Erreur de compilation

B
Si le tableau n’a pas d’élément à l’index zéro, il renvoie null.

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

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