diff options
| -rw-r--r-- | csharp.html.markdown | 6 | ||||
| -rw-r--r-- | fr-fr/csharp-fr.html.markdown | 76 | 
2 files changed, 41 insertions, 41 deletions
| diff --git a/csharp.html.markdown b/csharp.html.markdown index a5b2e1c2..a689fe97 100644 --- a/csharp.html.markdown +++ b/csharp.html.markdown @@ -511,11 +511,11 @@ on a new line! ""Wow!"", the masses cried";              var db = new BikeRespository();              // execution is delayed, which is great when querying a database -            var fitler = db.Bikes.Where(b => b.HasTassles); // no query run +            var filter = db.Bikes.Where(b => b.HasTassles); // no query run              if (42 > 6) // You can keep adding filters, even conditionally - great for "advanced search" functionality -                fitler = fitler.Where(b => b.IsBroken); // no query run +                filter = filter.Where(b => b.IsBroken); // no query run -            var query = fitler +            var query = filter                  .OrderBy(b => b.Wheels)                  .ThenBy(b => b.Name)                  .Select(b => b.Name); // still no query run diff --git a/fr-fr/csharp-fr.html.markdown b/fr-fr/csharp-fr.html.markdown index cf95a881..c1641716 100644 --- a/fr-fr/csharp-fr.html.markdown +++ b/fr-fr/csharp-fr.html.markdown @@ -29,7 +29,7 @@ ceci  /// Ceci est un commentaire de documentation XML  /// </summary> -// Utilisez des namespaces avec l'instruction 'using' +// Importez des namespaces avec l'instruction 'using'  using System;  using System.Collections.Generic;  using System.Data.Entity; @@ -46,8 +46,8 @@ namespace Learning      // que celui du fichier. Ce n'est pas une obligation mais c'est mieux !       public class LearnCSharp      { -        // LES BASES - si vous avez déjà une expérience en Java ou C++ -        // passez directement à la partie FONCTIONNALITÉS INTERESSANTES  +        // LES BASES - si vous avez déjà de l'expérience en Java ou C++ +        // passez directement à la partie FONCTIONNALITÉS INTERÉSSANTES           public static void Syntax()           {              // Utilisez Console.WriteLine pour écrire sur la sortie @@ -91,10 +91,10 @@ namespace Learning              // on ajoute 'L' pour spécifier la création d'un long              // Double - Réel sur 64 bits en virgule flottante (norme IEEE 754)  -            double fooDouble = 123.4; // Precision: 15-16 chiffres +            double fooDouble = 123.4; // Precision : 15-16 chiffres              // Float - Réel sur 32 bits en virgule flottante (norme IEEE 754)  -            float fooFloat = 234.5f; // Precision: 7 chiffres +            float fooFloat = 234.5f; // Precision : 7 chiffres              // Par défaut le type d'un littéral réel est double              // on ajoute 'f' pour spécifier la création d'un float @@ -114,9 +114,9 @@ namespace Learning              string fooString = "\"échappement\" de guillemets et ajout de \n (nouvelle ligne) et  de \t (tabulation)";              Console.WriteLine(fooString); -            // Il est possible d'accéder à chaque caractère d'une chaîne de caractères via un indexeur +            // Il est possible d'accéder à chaque caractère d'une chaîne de caractères via son index              char charFromString = fooString[1]; // 'é' -            // une chaîne de caractères est immuable: impossible de faire fooString[1] = 'X'; +            // une chaîne de caractères est immuable : impossible de faire fooString[1] = 'X';              // Comparaison de chaînes de caractères avec la culture courrante en ignorant la casse              string.Compare(fooString, "x", StringComparison.CurrentCultureIgnoreCase); @@ -163,14 +163,14 @@ sur une nouvelle ligne! ""Wow!"", quel style";              List<string> stringList = new List<string>();              List<int> z = new List<int> { 9000, 1000, 1337 }; // intialisation              // Les <> indiquent un type générique  -            // Pus d'info dans la partie FONCTIONNALITÉS INTERESSANTES +            // Pus d'info dans la partie FONCTIONNALITÉS INTERÉSSANTES              // Les éléments d'une liste ne sont pas null par défaut              // Il faut ajouter une valeur avant d'y accéder par index              intList.Add(1);              Console.WriteLine("intList à 0: " + intList[0]); -            // Autres structures de données à étudier: +            // Autres structures de données à étudier :              // Stack/Queue (Pile/File)              // Dictionary (une implémentation de hash map)              // HashSet (représente un ensemble) @@ -217,11 +217,11 @@ sur une nouvelle ligne! ""Wow!"", quel style";              Console.WriteLine(--i); //i = 0. Pre-Decrémentation              /////////////////////////////////////// -            // Structure de contrôle +            // Structures de contrôle              /////////////////////////////////////// -            Console.WriteLine("\n->Structure de contrôle"); +            Console.WriteLine("\n->Structures de contrôle"); -            // Clause 'if' à la C +            // Structure conditionnelle              int j = 10;              if (j == 10)              { @@ -268,7 +268,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              // Structure : foreach(<type_iterateur> <nom_iterateur> in <enumerable>)              // Cette boucle est utilisable sur des objets implémentant IEnumerable ou IEnumerable<T>              // Toutes les collections du framework .NET (Tableaux, Listes, ...) implémentent ces interfaces. -            // (Notez que dans l'exemple suivant .ToCharArray() peut être omit car, +            // (Notez que dans l'exemple suivant .ToCharArray() peut être omit car              //  string implémente IEnumerable)              foreach (char character in "Hello World".ToCharArray())              { @@ -352,14 +352,14 @@ sur une nouvelle ligne! ""Wow!"", quel style";              Console.Read();          } -        // POINT D'ENTREE Une application console doit avoir une méthode main comme point d'entrée +        // POINT D'ENTRÉE - Une application console doit avoir une méthode main comme point d'entrée          public static void Main(string[] args)          {              OtherInterestingFeatures();          }          // -        // FONCTIONNALITÉS INTERESSANTES +        // FONCTIONNALITÉS INTÉRÉSSANTES          //          // SIGNATURE DE METHODE @@ -381,7 +381,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";          {          } -        // TYPE GENERIQUE +        // TYPE GÉNÉRIQUE          // Les types TKey et TValue sont spécifiés par l'utilisateur lors de l'appel de la fonction          // Cette méthode émule SetDefaut de Python @@ -414,7 +414,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              // MÉTHODE D'EXTENSION              int i = 3; -            i.Print(); // Défini plus bas +            i.Print(); // Définit plus bas              // TYPES NULLABLE - idéal pour les interactions avec une base de données ou pour les valeurs de retour              // Tous les types valeurs peuvent être rendus nullable en les suffixant par '?' @@ -427,7 +427,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              // au cas ou une autre valeur serait nulle              int notNullable = nullable ?? 0; // 0 -            // VARIABLES IMPLICITEMENT TYPÉE - vous pouvez laisser le compilateur deviner le type d'une variable +            // VARIABLES IMPLICITEMENT TYPÉES - vous pouvez laisser le compilateur deviner le type d'une variable              var magic = "magic est de type string à la compilation. On a toujours un typage fort !";              // magic = 9; // ne fonctionnera pas car magic est désormais une chaîne de caractères @@ -436,23 +436,23 @@ sur une nouvelle ligne! ""Wow!"", quel style";                  {"Sarah", "212 555 5555"} // Ajout d'une entrée à notre agenda              }; -            // Appel de la fonction SetDefault (défini plus haut) +            // Appel de la fonction SetDefault (définie plus haut)              Console.WriteLine(SetDefault<string,string>(agenda, "Shaun", "Pas de numéro")); // => Pas de numéro              // Notez que vous n'avez pas à spécifier TKey et TValue car le compilateur saura les inférer.              Console.WriteLine(SetDefault(agenda, "Sarah", "No Phone")); // => 212 555 5555              // EXPRESSION LAMBDA - permet d'écrire une fonction en tant qu'expression -            Func<int, int> square = (x) => x * x; // Le dernier élément est la valeur de retour +            Func<int, int> square = (x) => x * x; // La dernière expression est la valeur de retour              Console.WriteLine(square(3)); // => 9              // GESTION AUTOMATIQUE DES RESSOURCES - vous permet de manipuler facilement des resources non-managées              // La plus part des objets qui accèdent à des ressources non-managées (handle de fichier, périphérique, etc.) -            // implémentent l'interface IDisposable. L'instruction using prends soin -            // de libérer ses objets IDisposable proprement à votre place. +            // implémentent l'interface IDisposable. L'instruction using prend soin +            // de libérer les objets IDisposable proprement à votre place.              using (StreamWriter writer = new StreamWriter("log.txt"))              {                  writer.WriteLine("Rien à signaler"); -                // À la fin de cette portée, les ressources seront libérées. +                // À la fin de cette portée les ressources seront libérées.                  // Même si une exception est levée.              }  @@ -485,7 +485,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              dynamic student = new ExpandoObject();              student.FirstName = "Mon prénom"; // Pas besoin de définir l'objet -            // Vous pouvez même ajouter des méthodes (dans cet exemple: la méthode prend une chaîne de caractères et retourne une chaîne de caractères) +            // Vous pouvez même ajouter des méthodes (dans cet exemple : la méthode prend une chaîne de caractères et retourne une chaîne de caractères)              student.Introduce = new Func<string, string>(                  (introduceTo) => string.Format("Hey {0}, c'est {1}", student.FirstName, introduceTo));              Console.WriteLine(student.Introduce("Beth")); @@ -505,7 +505,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              // Creation d'une liste d'objet anonymes basés sur des paramètres de la classe Bike              var bikeSummaries = bikes.Select(b=>new { Name = b.Name, IsAwesome = !b.IsBroken && b.HasTassles }); -            // Le compilateur peut inférer le type de ces objets anonymes, permettant à certain IDE d'effectuer  +            // Le compilateur peut inférer le type de ces objets anonymes, permettant à certains IDE d'effectuer               // des autos-complétion.              foreach (var bikeSummary in bikeSummaries.Where(b => b.IsAwesome))                  Console.WriteLine(bikeSummary.Name); @@ -519,16 +519,16 @@ sur une nouvelle ligne! ""Wow!"", quel style";              // machine dispose de plusieurs coeurs) -            // LINQ - lie une source de donnée à des objets IQueryable<T> -            // ex: LindToSql => liaison avec une base de données, LinqToXml => liaison avec un document xml +            // LINQ - lie une source de données à des objets IQueryable<T> +            // ex : LindToSql => liaison avec une base de données, LinqToXml => liaison avec un document xml              var db = new BikeRespository();              // l'exécution est décalée, ce qui est préférable quand on travaille sur une base données -            var fitler = db.Bikes.Where(b => b.HasTassles); // pas de requête exécutée +            var filter = db.Bikes.Where(b => b.HasTassles); // pas de requête exécutée              if (42 > 6) //  Vous pouvez continuer à affiner la recherche -                fitler = fitler.Where(b => b.IsBroken); // pas de requête exécutée +                filter = filter.Where(b => b.IsBroken); // pas de requête exécutée -            var query = fitler +            var query = filter                  .OrderBy(b => b.Wheels)                  .ThenBy(b => b.Name)                  .Select(b => b.Name); // toujours pas de requête exécutée @@ -561,7 +561,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";      public class Bicycle      {          // Propriétés et variable de la classe -        public int Cadence // Public: peut être accédé de partout +        public int Cadence // Public : peut être accédé de partout          {              get // get - définit une méthode pour lire la propriété              { @@ -574,13 +574,13 @@ sur une nouvelle ligne! ""Wow!"", quel style";          }          private int _cadence; -        protected virtual int Gear // Protected: accessible depuis la classe et ses classes filles +        protected virtual int Gear // Protected : accessible depuis la classe et ses classes filles          {              get; // crée une propriété automatique, pas besoin de créer une variable de stockage              set;          } -        internal int Wheels // Internal: accessible depuis l'assembly +        internal int Wheels // Internal : accessible depuis l'assembly          {              get;              private set; // Il est possible de choisir la portée d'un accesseur @@ -609,8 +609,8 @@ sur une nouvelle ligne! ""Wow!"", quel style";          public BikeBrand Brand; // Après avoir déclaré notre type enum, on peut créer un champ de ce type          // Les membres statiques appartiennent à une classe plutôt qu'à une instance particulière -        // Il est possible d'y accéder sans passer par un objet: -        // ex: Console.WriteLine("Bicycles créés: " + Bicycle.bicyclesCreated); +        // Il est possible d'y accéder sans passer par un objet : +        // ex : Console.WriteLine("Bicycles créés : " + Bicycle.bicyclesCreated);          static public int BicyclesCreated = 0;          // Les valeurs en lecture seule sont affectées lors de l'exécution @@ -648,7 +648,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";          {          } -        // Syntaxe de méthode: +        // Syntaxe de méthode :          // <public/private/protected> <type de retour> <nom de methode>(<args>)          // Les classes peuvent implémenter des accesseurs pour leurs champs @@ -688,7 +688,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";              private set;          } -        // Méthode qui affiche les valeurs des champs de cet objet +        // Méthode qui affiche la valeur des champs de cet objet          public virtual string Info()          {              return "Gear: " + Gear + @@ -703,7 +703,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";          // Les méthodes peuvent aussi être statiques. Utile pour les méthodes d'aide.          public static bool DidWeCreateEnoughBycles()          { -            // A l'intérieur d'une méthode statique on ne peut que référencer des membres statiques ! +            // À l'intérieur d'une méthode statique on ne peut que référencer des membres statiques !              return BicyclesCreated > 9000;          } // Si votre classe n'a que des membres statiques, marquez la comme statique  | 
