QCM C# – Framework .NET – Partie 19

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 ?
ValueTuple person = (1, "Alex");
Console.WriteLine(person.Item2);

A 1

B Alex

C Erreur d’exécution

D Erreur de compilation

B
Il est facile de créer et d’initialiser le ValueTuple . Il peut être créé et initialisé en utilisant des parenthèses () et en spécifiant les valeurs qu’il contient. Accès aux membres non nommés: Dans ValueTuple, les membres non nommés sont accessibles en utilisant les noms de propriété par défaut des éléments, tels que Item1, Item2, Item3, etc.

 

2. Parmi les types suivants, lesquels peuvent implémenter des interfaces ?

A class

B struct

C Enum

D Event

A, B
Une classe ou une struct peut implémenter plusieurs interfaces, mais une classe ne peut hériter que d’une seule classe.

 

3. Peut-on déclarer un membre protected dans une interface ?

A Oui

B Non

B
En général, les membres protected sont accessibles dans la même classe ou dans la classe qui en hérite. Mais, on n’hérite pas d’une interface, on l’implémente. Par conséquent, les membres d’une interface ne peuvent pas être protected.

 

 
 

4. Parmi les types suivants, lesquels peuvent participer à l’héritage en C# ?

A Class, Struct, Interface

B Class, Enum, Interface

C Class, Object, Delegate

D Tous les types de référence

D
Tous les types de référence peuvent participer à l’héritage en C#.

 

5. Quel sera le résultat du programme suivant ?
class Person {
	public void Introduction(){ 
		Console.WriteLine("Je suis une personne."); 
	} 
	public string Introduction(){ 
		return "Je suis une personne."; 
	} 
}

A Je suis une personne

B Aucune sortie

C Erreur d’exécution

D Erreur de compilation

D
Erreur de compilation: Le membre `Person.Introduction()’ est déjà défini. Renommez ce membre ou utilisez d’autres types de paramètres.

 

6. Que fait le code suivant ?
File.WriteAllText(@"C:\NMyFile.txt", "Ceci est le contenu du fichier."); 

A Crée un nouveau fichier et écrit le texte dans MonFichier.txt

B Crée un nouveau fichier et écrit le texte dans le fichier MyFile.txt. Si le fichier existe déjà, une exception est levée.

C Crée un nouveau fichier et écrit le texte dans MonFichier.txt. Si le fichier existe déjà, le texte est écrasé dans le fichier.

D Ouvre le fichier pour une opération de lecture ou d’écriture.

C
Le code ci-dessus, crée un nouveau fichier et écrit le texte dans MonFichier.txt. Si le fichier existe déjà, le texte est écrasé dans le fichier.

 

 
 

7. Quel sera le résultat du programme suivant ?
Console.Write(sizeof(int));

A 0

B 4

C Erreur d’exécution

D Erreur de compilation

B
L’opérateur sizeof renvoie le nombre d’octets occupés par une variable d’un type donné.

 

8. Quelle est la différence entre une interface et une classe abstraite ?

A L’interface ne peut comporter que la déclaration de méthodes, tandis que la classe abstraite peut comporter l’implémentation de méthodes.

B L’interface peut comporter l’implémentation d’une méthode, tandis que la classe abstraite peut comporter la déclaration et l’implémentation d’une méthode.

C Plusieurs interfaces peuvent être implémentées alors que plusieurs classes abstraites ne peuvent pas l’être

D Aucune de ces réponses

A, C
1. L’interface ne peut comporter que la déclaration de méthodes, tandis que la classe abstraite peut comporter l’implémentation de méthodes.

2. Plusieurs interfaces peuvent être implémentées alors que plusieurs classes abstraites ne peuvent pas l’être

 

9. Comment limiter une classe à une classe de base ?

A Utiliser le mot-clé « sealed »

B Utiliser une classe generic

C Utiliser le mot-clé virtual

D Utiliser le mot-clé abstract

D
Pour limiter une classe à une classe de base utiliser le mot-clé abstract.

 

 
 

10. Comment accéder aux membres de la classe de base à partir d’une classe dérivée ?

A Utilisation du mot-clé « base »

B Utilisation du mot-clé « this »

C Utilisation de l’opérateur :

D Aucune de ces réponses

A
Le mot-clé base est utilisé pour accéder aux membres de la classe de base à partir d’une classe dérivée. Vous pouvez l’utiliser pour Appeler une méthode de la classe de base qui a été surchargée par une autre méthode. Spécifier quel constructeur de la classe de base doit être appelé lors de la création d’instances de la classe dérivée. Exemple:

class A {
    protected virtual void Foo() {
        Console.WriteLine("I'm A");
    }
}

class B : A {
    protected override void Foo() {
        Console.WriteLine("I'm B");
    }

    public void Bar() {
        Foo();
        base.Foo(); //appel la méthode Foo de la classe A
    }
}

Grâce à ces définitions:

new B().Bar();

Sortie:

I'm B
I'm A

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

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