Assignment Help logo
Chat en direct

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Q1. Dans quelle(s) situation(s) les interfaces sont-elles meilleures que les classes abstraites ?

  • Lorsque vous devez définir les caractéristiques d'un type d'objet, utilisez une interface. Lorsque vous devez définir les capacités d'un type d'objet, utilisez une classe abstraite.
  • Les interfaces sont un héritage des anciennes versions de C# et sont interchangeables avec la fonctionnalité de classe abstraite plus récente.
  • Lorsque vous avez besoin d'une liste de capacités et de données qui sont agnostiques aux classes, utilisez une interface. Lorsque vous avez besoin qu'un certain type d'objet partage des caractéristiques, utilisez une classe abstraite.
  • Vous devriez utiliser à la fois une interface et une classe abstraite lors de la définition de tout objet complexe.

Q2. Quelle déclaration est vraie concernant les délégués ?

  • Les délégués ne sont pas pris en charge dans la version actuelle de C#
  • Ils ne peuvent pas être utilisés comme rappels.
  • Seules les variables peuvent être passées aux délégués en tant que paramètres.
  • Ils peuvent être enchaînés ensemble.

Documentation officielle: Délégués

Q3. Quel choix définit le mieux le modèle de programmation asynchrone de C# ?

  • réactif
  • rappel hérité
  • basé sur les tâches
  • basé sur les rappels

Documentation officielle: Modèle de programmation asynchrone basé sur les tâches réponse correcte --> var contacts = new List<string>();

Q4. Comment détermineriez-vous si une classe possède un attribut particulier ?

  • .
var type = typeof(SomeType);
var attribute = type.GetCustomAttribute<SomeAttribute>();
  • .
var typeof(MyPresentationModel).Should().BeDecoratedWith<SomeAttribute>();
  • .
Attribute.GetCustomAttribute, typeof(SubControllerActionToViewDataAttribute)
  • .
Attribute.GetCustomAttribute(typeof(ExampleController), typeof(SubControllerActionToViewDataAttribute))
  1. Documentation officielle: Classe Attribute
  2. Documentation officielle: Méthode Attribute.GetCustomAttribute

Q5. Quelle est la différence entre les mots-clés ref et out ?

  • Les variables passées pour spécifier que le paramètre est un paramètre de sortie, tandis que ref spécifie qu'une variable peut être passée à une fonction sans être initialisée.
  • Les variables passées à ref peuvent être passées à une fonction sans être initialisées, tandis que out spécifie que la valeur est une valeur de référence qui peut être modifiée à l'intérieur de la méthode appelante.
  • Les variables passées à out peuvent être passées à une fonction sans être initialisées, tandis que ref spécifie que la valeur est une valeur de référence qui peut être modifiée à l'intérieur de la méthode appelante.
  • Les variables passées à ref spécifient que le paramètre est un paramètre de sortie, tandis que out spécifie qu'une variable peut être passée à une fonction sans être initialisée.
  1. Documentation officielle: ref
  2. Documentation officielle: Modificateur de paramètre out

Q6. Comment pourriez-vous récupérer des informations sur une classe, ainsi que créer une instance à l'exécution ?

  • réflexion
  • sérialisation
  • abstraction
  • injection de dépendance

Documentation officielle: Réflexion

Q7. De quoi est un exemple ce code ?

    private static object objA;
    private static object objB;

    private static void performTaskA()
    {
        lock (objB)
        {
            Thread.Sleep(1000);
            lock (objA) { }
        }
    }

    private static void PerformTaskB()
    {
        lock (objA)
        {
            lock (objB) { }
        }
    }
  • une classe privée qui utilise le multithreading
  • codage multithread
  • mauvaise gestion des threads
  • un blocage potentiel

Documentation officielle: Blocages et conditions de course

Q8. Quelle est la différence entre un type anonyme et un type de données régulier ?

  • Les types anonymes n'ont pas de noms de type
  • Les types anonymes peuvent être seulement statiques
  • Les types anonymes ne peuvent être utilisés que dans des structures
  • Les types anonymes ne fonctionnent pas avec LINQ.

Documentation officielle: Types anonymes

Q9. Quand utiliseriez-vous un Dictionary plutôt qu'un type Array dans votre application ?

  • Lorsque vous avez besoin d'une structure de collection en dents de scie
  • Lorsque vous avez besoin de stocker des valeurs du même type
  • Lorsque vous avez besoin de stocker des paires clé-valeur plutôt que des valeurs uniques
  • Lorsque vous avez besoin d'une liste ordonnée et consultable

Documentation officielle: Classe Dictionary<TKey,TValue>

Q10. Quelle est la différence entre a.Equals(b) et a == b ?

  • La méthode .Equals compare les identités de référence tandis que == compare les contenus.
  • La méthode .Equals compare les valeurs primitives tandis que == compare toutes les valeurs.
  • La méthode .Equals compare les contenus tandis que == compare l'identité de référence.
  • La méthode .Equals compare les types de référence tandis que == compare les types de valeur primitive.
  1. Documentation officielle: Object.Equals
  2. c-sharpcorner: Opérateur d'égalité (==) vs .Equals()

Q11. Quel choix décrit le mieux une situation de blocage ?

  • lorsque vous essayez d'instancier deux objets en même temps dans la même classe ou structure
  • lorsque vous essayez d'exécuter une action après qu'un événement utilisateur est enregistré
  • lorsque des instructions simultanées attendent que les autres se terminent avant de s'exécuter
  • lorsque vous essayez d'exécuter une série d'événements simultanément sur plusieurs threads

Documentation officielle: Blocages et conditions de course

Q12. Comment fonctionne le mot-clé async ?

  • Il permet d'accéder aux méthodes asynchrones dans l'API C#
  • Il permet un pool de threads et des processus synchrones dans des classes statiques.
  • Il permet l'utilisation du mot-clé await dans une méthode
  • Il permet d'accéder aux méthodes synchrones dans l'API C#

Documentation officielle: async

Q13. Qu'est-ce qu'un objet en C# ?

  • une classe ou une structure, y compris ses variables et fonctions
  • un type de données primitif qui ne peut être créé qu'au moment de la compilation
  • un type de valeur qui ne peut être utilisé qu'avec une classe abstraite
  • une instance d'une classe ou d'une structure qui inclut des champs, des propriétés et/ou des méthodes

Documentation officielle: Objets

Q14. Quel extrait de code déclare un type anonyme nommé userData ?

  • var<<!---->T> userData = new <<!---->T> { name = "John", age = 32 };
  • var userData = new { name = "John", age = 32 };
  • AType userData = new AType { name = "John", age = 32 };
  • Anonymous<T> userData = new Anonymous<T> { name = "John", age = 32 };

Documentation officielle: Types anonymes

Q15. Que renverra cette méthode lorsqu'elle sera exécutée ?

public void userInput(string charParameters) { }

  • Rien
  • un Booléen
  • une variable de type chaîne de caractères
  • un entier

Documentation officielle: void

Q16. Dans quel ordre les noms des employés dans cet exemple seraient-ils imprimés sur la console ?

string[] employees = { "Joe", "Bob", "Carol", "Alice", "Will" };

IEnumerable<string> employeeQuery = from person in employees
                                    orderby person
                                    select person;

foreach(string employee in employeeQuery)
{
    Console.WriteLine(employee);
}
  • croissant
  • désordonné
  • décroissant
  • premier entré, premier sorti

dotnetpattern: Opérateur OrderBy de LINQ

Q17. Les expressions lambda sont souvent utilisées en tandem avec lequel des éléments suivants ?

  • Espaces de noms
  • LINQ
  • Alias de type
  • Assemblages

Documentation officielle: Vue d'ensemble de Language Integrated Query (LINQ)

Q18. Quel est le format correct pour les commentaires sur une seule ligne et sur plusieurs lignes ?

  • /_/ - Une seule ligne /_ - Multiligne
  • // Multiligne /_ Une seule ligne _/
  • //\* Multiligne / Une seule ligne
  • // Une seule ligne /* Multiligne */

w3schools: Commentaires C#

Q19. Comment rendriez-vous une méthode dans une classe abstraite modifiable ?

  • Rendez-la publique
  • Rendez-la statique
  • Rendez-la privée
  • Rendez-la virtuelle
  1. Documentation officielle: virtual
  2. Documentation officielle: abstract

Q20. Comment écririez-vous du code pour une propriété entière appelée Age avec un getter et un setter ?

  • public int Age { get - set }
  • public int Age: get set;
  • public int Age (get, set );
  • public int Age { get; set; }

Documentation officielle: Utilisation des propriétés