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. Les variables de type valeur en C# sont dérivées de la classe System.ValueType.
A Vrais
B Faux
A
La classe ValueType est une classe de base pour tous les types de valeurs. Cela inclut les ints, les shorts, les doubles, ainsi que les structures telles que les instances DateTime.
Le délégué Predicate<T> représente la méthode qui définit un ensemble de critères et détermine si l’objet spécifié répond à ces critères.
3. Comment réécrire la condition suivante ?
int a = 15, b = 9, c;
if (a > b)
c = b;
else
c = a;
Ac = a > b ? b : a;
Bc = a > b ? a : b;
Cc = a > b ? return(b) : return (a);
Dc = a > b ? b: a < b ? a: b;
A
L'opérateur conditionnel ?:, également appelé opérateur conditionnel ternaire, évalue une expression booléenne et renvoie le résultat de l'une des deux expressions, selon que l'expression booléenne est vraie ou fausse.
4. Lequel des éléments suivants n'est pas pris en charge en C# ?
A Une classe peut hériter d'une ou plusieurs classes
B Une interface peut hériter d'une ou plusieurs classes
C Une structure peut hériter d'une ou plusieurs classes
D Tous les réponses
D
Tous les réponses ci-dessus ne sont pas pris en charge en C#.
5. Laquelle des affirmations suivantes est FAUSSE ?
A Les membres "public" sont toujours accessibles et font partie de l'objet de la classe dérivée.
B Les membres "protected" sont accessibles dans la classe dérivée mais ne peuvent pas faire partie de l'objet de la classe dérivée.
C Les membres "internal" sont accessibles et font partie de l'objet de la classe dérivée si la classe de base et la classe dérivée se trouvent dans le même assembly.
D Aucune de ces réponses
D
Aucune de ces réponses n'est pas FAUSSE.
6. Une classe peut hériter d'un ou plusieurs Structs.
A Vrais
B Faux
B
Il n'y a pas d'héritage pour les structures comme pour les classes. Une structure ne peut pas hériter d'une autre structure ou d'une autre classe, et elle ne peut pas être la base d'une classe. Les structures, cependant, héritent de la classe de base Object. Une structure peut implémenter des interfaces, ce qu'elle fait exactement comme les classes.
7. Lequel des mots-clés suivants est utilisé pour indiquer qu'un champ peut être modifié par plusieurs threads qui s'exécutent en même temps ?
A unsafe
B virtual
C extern
D volatil
D
Le mot-clé "volatil" suivants est utilisé pour indiquer qu'un champ peut être modifié par plusieurs threads qui s'exécutent en même temps. Exemple:
int i = 1;
Console.WriteLine(i);
La variable i étant non volatile, toute modification effectuée par un thread sera locale à cette variable. Supposons maintenant que la variable soit volatile, comme indiqué ci-dessous :
volatile int i = 1;
Supposons maintenant que l'un des deux threads ait modifié la valeur de la variable i:
i++;
Lorsque vous affichez la valeur de la variable i, vous obtenez 2 (c'est-à-dire la valeur actualisée de la variable i) pour les deux threads.
8. Une méthode asynchrone peut avoir les types de retour suivants ?
A Task
B int
C Task<TResult>
D void
A, C
Les méthodes asynchrones peuvent avoir les types de retour suivants: Task, pour une méthode asynchrone qui effectue une opération mais ne renvoie aucune valeur. Task<TResult>, pour une méthode asynchrone qui renvoie une valeur.
9. Lequel des opérateurs suivants ne lève pas d'exception si le cast échoue ?
A is
B as
C ()
D =
B
L'opérateur "as" convertit explicitement le résultat d'une expression en un type de référence ou de valeur nullable donné. Si la conversion n'est pas possible, l'opérateur as renvoie null. Contrairement à une expression cast, l'opérateur "as" ne lève jamais d'exception.
10. Lequel des éléments suivants est également appelé polymorphisme statique ?
A Surcharge de fonctions
B Redéfinition de fonctions
C Héritage
D Héritage d'interface multiple
A
La surcharge des méthodes est connue sous le nom de polymorphisme à la compilation (ou statique) car chacune des différentes méthodes surchargées est résolue lors de la compilation de l'application. Elle porte plusieurs noms, comme "polymorphisme à la compilation" ou "polymorphisme statique".
La surcharge des méthodes consiste à créer plusieurs méthodes dans une classe avec les mêmes noms mais des signatures différentes (c'est-à-dire des paramètres). Nous pouvons réaliser la surcharge en variant le nombre de paramètres, l'ordre des paramètres et les types de données des paramètres.
Elle permet à une classe, une structure ou une interface de déclarer plusieurs méthodes portant le même nom avec des signatures uniques.
Le compilateur appelle automatiquement la méthode requise pour vérifier le nombre de paramètres et leur type qui sont passés dans cette méthode.
Exercice C# Corrigé – Partie 1Avec des exercices corrigés en C#, vous pratiquerez divers concepts du langage C#. Vous commencerez par des exercices C#de base à des exercices plus avancés.…Lire plus