A bunch of typo fix

This commit is contained in:
olwaro 2014-02-14 21:33:43 +01:00
parent 4803b3aa26
commit 5c19094fb0

View File

@ -109,7 +109,7 @@ namespace Learning
// Char - Un unique caractère Unicode sur 16 bits // Char - Un unique caractère Unicode sur 16 bits
char fooChar = 'A'; char fooChar = 'A';
// String -- contrairement au types précédents qui sont des types valeurs, // String -- contrairement aux types précédents qui sont des types valeurs,
// string est un type référence. Il peut donc avoir la valeur null // string est un type référence. Il peut donc avoir la valeur null
string fooString = "\"échappement\" de guillemets et ajout de \n (nouvelle ligne) et de \t (tabulation)"; string fooString = "\"échappement\" de guillemets et ajout de \n (nouvelle ligne) et de \t (tabulation)";
Console.WriteLine(fooString); Console.WriteLine(fooString);
@ -152,7 +152,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Indexer un tableau - Accéder à un élément // Indexer un tableau - Accéder à un élément
Console.WriteLine("intArray à 0: " + intArray[0]); Console.WriteLine("intArray à 0: " + intArray[0]);
// Les tableaux sont muable. // Les tableaux sont muables.
intArray[1] = 1; intArray[1] = 1;
// Listes // Listes
@ -268,7 +268,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Structure : foreach(<type_iterateur> <nom_iterateur> in <enumerable>) // Structure : foreach(<type_iterateur> <nom_iterateur> in <enumerable>)
// Cette boucle est utilisable sur des objets implémentant IEnumerable ou IEnumerable<T> // 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. // 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) // string implémente IEnumerable)
foreach (char character in "Hello World".ToCharArray()) foreach (char character in "Hello World".ToCharArray())
{ {
@ -276,9 +276,9 @@ sur une nouvelle ligne! ""Wow!"", quel style";
} }
// La structure Switch Case // La structure Switch Case
// Un switch fonctionne avec les types : byte, short, char, et int. // Un switch fonctionne avec les types : byte, short, char et int.
// Les enums sont aussi supportés ainsi que les strings et quelques // Les enums sont aussi supportés ainsi que les strings et quelques
// classes spéciales basées sur les types primitifs : Character, Byte, Short, et Integer. // classes spéciales basées sur les types primitifs : Character, Byte, Short et Integer.
int mois = 3; int mois = 3;
string moisString; string moisString;
switch (mois) switch (mois)
@ -293,7 +293,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
moisString = "Mars"; moisString = "Mars";
break; break;
// Vous pouvez assigné plus d'un 'case' à une action // Vous pouvez assigner plus d'un 'case' à une action
// Mais vous ne pouvez pas ajouter une action sans 'break' avant un 'case' // Mais vous ne pouvez pas ajouter une action sans 'break' avant un 'case'
// (pour ce faire, il faudrait ajouter explicitement un 'goto case x') // (pour ce faire, il faudrait ajouter explicitement un 'goto case x')
case 6: case 6:
@ -307,10 +307,10 @@ sur une nouvelle ligne! ""Wow!"", quel style";
} }
/////////////////////////////////////// ///////////////////////////////////////
// Convertion de type de donnée et transtypage // conversion de type de donnée et transtypage
/////////////////////////////////////// ///////////////////////////////////////
// Convertion de string vers int // conversion de string vers int
// lève une exception en cas d'erreur // lève une exception en cas d'erreur
int.Parse("123"); //retourne la valeur entière de "123" int.Parse("123"); //retourne la valeur entière de "123"
@ -320,8 +320,8 @@ sur une nouvelle ligne! ""Wow!"", quel style";
if (int.TryParse("123", out tryInt)) // La fonction retourne un booléen if (int.TryParse("123", out tryInt)) // La fonction retourne un booléen
Console.WriteLine(tryInt); // => 123 Console.WriteLine(tryInt); // => 123
// Convertion d'un entier vers une string // conversion d'un entier vers une string
// La classe Convert possède plusieur méthodes pour faciliter la convertion // La classe Convert possède plusieurs méthodes pour faciliter la conversion
Convert.ToString(123); Convert.ToString(123);
// ou // ou
tryInt.ToString(); tryInt.ToString();
@ -399,7 +399,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Vous pouvez limiter les types autorisés // Vous pouvez limiter les types autorisés
public static void IterateAndPrint<T>(T toPrint) where T: IEnumerable<int> public static void IterateAndPrint<T>(T toPrint) where T: IEnumerable<int>
{ {
// Nous somme sûr de pouvoir itérer, car T implémente IEnumerable<int> // Nous sommes sûrs de pouvoir itérer, car T implémente IEnumerable<int>
foreach (var item in toPrint) foreach (var item in toPrint)
// Item sera de type int // Item sera de type int
Console.WriteLine(item.ToString()); Console.WriteLine(item.ToString());
@ -417,14 +417,14 @@ sur une nouvelle ligne! ""Wow!"", quel style";
i.Print(); // Défini plus bas i.Print(); // Défini plus bas
// TYPES NULLABLE - idéal pour les interactions avec une base de données ou pour les valeurs de retour // 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 rendu nullable en les suffixant par '?' // Tous les types valeurs peuvent être rendus nullable en les suffixant par '?'
// <type>? <nom> = <value> // <type>? <nom> = <value>
int? nullable = null; // raccourci pour Nullable<int> int? nullable = null; // raccourci pour Nullable<int>
Console.WriteLine("Nullable variable: " + nullable); Console.WriteLine("Nullable variable: " + nullable);
bool hasValue = nullable.HasValue; // retourne vrai si la valeur n'est pas null bool hasValue = nullable.HasValue; // retourne vrai si la valeur n'est pas null
// ?? est un sucre de syntaxe pour spécifier une valeur par défaut // ?? est un sucre de syntaxe pour spécifier une valeur par défaut
// au cas ou une autre valleur serait nulle // au cas ou une autre valeur serait nulle
int notNullable = nullable ?? 0; // 0 int notNullable = nullable ?? 0; // 0
// VARIABLES IMPLICITEMENT TYPÉE - vous pouvez laisser le compilateur deviner le type d'une variable // VARIABLES IMPLICITEMENT TYPÉE - vous pouvez laisser le compilateur deviner le type d'une variable
@ -445,7 +445,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
Func<int, int> square = (x) => x * x; // Le dernier élément est la valeur de retour Func<int, int> square = (x) => x * x; // Le dernier élément est la valeur de retour
Console.WriteLine(square(3)); // => 9 Console.WriteLine(square(3)); // => 9
// BIBLIOTHÈQUE DE TÂCHES PARALLÈLE (TPL) // BIBLIOTHÈQUE DE TÂCHES PARALLÈLES (TPL)
// http://msdn.microsoft.com/fr-fr/library/dd460717.aspx // http://msdn.microsoft.com/fr-fr/library/dd460717.aspx
var websites = new string[] { var websites = new string[] {
"http://www.google.com", "http://www.reddit.com", "http://www.google.com", "http://www.reddit.com",
@ -453,8 +453,8 @@ sur une nouvelle ligne! ""Wow!"", quel style";
}; };
var responses = new Dictionary<string, string>(); var responses = new Dictionary<string, string>();
// L'exemple suivant executera chaque requête dans un thread séparé, // L'exemple suivant exécutera chaque requête dans un thread séparé,
// et attendera la fin de chacun d'entre eux avant de continuer // et attendra la fin de chacun d'entre eux avant de continuer
Parallel.ForEach(websites, Parallel.ForEach(websites,
new ParallelOptions() {MaxDegreeOfParallelism = 3}, // maximum de 3 threads new ParallelOptions() {MaxDegreeOfParallelism = 3}, // maximum de 3 threads
website => website =>
@ -494,7 +494,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 // 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 }); var bikeSummaries = bikes.Select(b=>new { Name = b.Name, IsAwesome = !b.IsBroken && b.HasTassles });
// Le compilateur peut inférer le type de ces objets annonymes, permettant à certain IDE d'effectuer // Le compilateur peut inférer le type de ces objets anonymes, permettant à certain IDE d'effectuer
// des autos-complétion. // des autos-complétion.
foreach (var bikeSummary in bikeSummaries.Where(b => b.IsAwesome)) foreach (var bikeSummary in bikeSummaries.Where(b => b.IsAwesome))
Console.WriteLine(bikeSummary.Name); Console.WriteLine(bikeSummary.Name);
@ -509,12 +509,12 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// LINQ - lie une source de donnée à des objets IQueryable<T> // LINQ - lie une source de donnée à des objets IQueryable<T>
// ex: LindToSql => liaison avec une base de donnée, LinqToXml => liaison avec un document xml // ex: LindToSql => liaison avec une base de données, LinqToXml => liaison avec un document xml
var db = new BikeRespository(); var db = new BikeRespository();
// l'execution est décalée, ce qui est préférable quand on travail sur une base données // 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 fitler = db.Bikes.Where(b => b.HasTassles); // pas de requête exécutée
if (42 > 6) // Vous pouvez continuez à affiner la recherche if (42 > 6) // Vous pouvez continuer à affiner la recherche
fitler = fitler.Where(b => b.IsBroken); // pas de requête exécutée fitler = fitler.Where(b => b.IsBroken); // pas de requête exécutée
var query = fitler var query = fitler
@ -530,7 +530,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
} // Fin de la classe LearnCSharp } // Fin de la classe LearnCSharp
// Il est possible d'inclure plusieur classes dans un fichier .cs // Il est possible d'inclure plusieurs classes dans un fichier .cs
public static class Extensions public static class Extensions
{ {
@ -556,7 +556,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
{ {
return _cadence; return _cadence;
} }
set // set - définit une méthode pour affecté une valeur à la propriété set // set - définit une méthode pour affecter une valeur à la propriété
{ {
_cadence = value; // 'value' est la valeur passée en argument au setteur _cadence = value; // 'value' est la valeur passée en argument au setteur
} }
@ -583,7 +583,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Enum est un type valeur formé par un ensemble de constantes nommées // Enum est un type valeur formé par un ensemble de constantes nommées
// C'est simplement une manière de mettre un nom sur une valeur (int par défaut). // C'est simplement une manière de mettre un nom sur une valeur (int par défaut).
// Les types compatibles pour un enum sont : byte, sbyte, short, ushort, int, uint, long, et ulong. // Les types compatibles pour un enum sont : byte, sbyte, short, ushort, int, uint, long et ulong.
// Un enum ne peut pas contenir deux fois la même valeur // Un enum ne peut pas contenir deux fois la même valeur
public enum BikeBrand public enum BikeBrand
{ {
@ -606,7 +606,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Elles ne peuvent être assignées que lors de leur déclaration ou dans un constructeur // Elles ne peuvent être assignées que lors de leur déclaration ou dans un constructeur
readonly bool _hasCardsInSpokes = false; // variable en lecture et privée readonly bool _hasCardsInSpokes = false; // variable en lecture et privée
// Les contructeurs sont un moyen de créer des objets // Les constructeurs sont un moyen de créer des objets
// Voici un constructeur par défaut (pas d'arguments) // Voici un constructeur par défaut (pas d'arguments)
public Bicycle() public Bicycle()
{ {
@ -618,7 +618,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
BicyclesCreated++; BicyclesCreated++;
} }
// Voici un constructeur spécifique (qui prends des arguments) // Voici un constructeur spécifique (qui prend des arguments)
public Bicycle(int startCadence, int startSpeed, int startGear, public Bicycle(int startCadence, int startSpeed, int startGear,
string name, bool hasCardsInSpokes, BikeBrand brand) string name, bool hasCardsInSpokes, BikeBrand brand)
: base() // possibilité d'appeler le constructeur de la classe mère (ici Object) : base() // possibilité d'appeler le constructeur de la classe mère (ici Object)
@ -631,7 +631,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
Brand = brand; Brand = brand;
} }
// Les constructeur peuvent s'enchaîner // Les constructeurs peuvent s'enchaîner
public Bicycle(int startCadence, int startSpeed, BikeBrand brand) : public Bicycle(int startCadence, int startSpeed, BikeBrand brand) :
this(startCadence, startSpeed, 0, "big wheels", true, brand) this(startCadence, startSpeed, 0, "big wheels", true, brand)
{ {
@ -640,10 +640,10 @@ 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>) // <public/private/protected> <type de retour> <nom de methode>(<args>)
// Les classes peuvent implémenter des accesseurs pour leur champs // Les classes peuvent implémenter des accesseurs pour leurs champs
// ou implémenter des propriétés (c'est la méthode dominante en C#) // ou implémenter des propriétés (c'est la méthode dominante en C#)
// Les paramètres de méthodes peuvent avoir des valeur par défaut // Les paramètres de méthodes peuvent avoir des valeurs par défaut
// Dans ce cas, la méthode peut être appelée sans arguments // Dans ce cas, la méthode peut être appelée sans arguments
public void SpeedUp(int increment = 1) public void SpeedUp(int increment = 1)
{ {
@ -689,7 +689,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
; ;
} }
// Les méthodes peuvent aussi être statiques. Utile pour les méthode d'aide. // Les méthodes peuvent aussi être statiques. Utile pour les méthodes d'aide.
public static bool DidWeCreateEnoughBycles() public static bool DidWeCreateEnoughBycles()
{ {
// A l'intérieur d'une méthode statique on ne peut que référencer des membres statiques ! // A l'intérieur d'une méthode statique on ne peut que référencer des membres statiques !
@ -731,7 +731,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// Les interfaces contiennent uniquement la signature de leurs membres, sans implémentation. // Les interfaces contiennent uniquement la signature de leurs membres, sans implémentation.
interface IJumpable interface IJumpable
{ {
void Jump(int meters); // Tout les membres d'interface sont publique par défaut void Jump(int meters); // Tous les membres d'interface sont publics par défaut
} }
interface IBreakable interface IBreakable
@ -740,7 +740,7 @@ sur une nouvelle ligne! ""Wow!"", quel style";
// des méthodes et des évènements // des méthodes et des évènements
} }
// Une classe ne peut hériter que d'une seule autre classe, mais peut implémenter plusieur interfaces // Une classe ne peut hériter que d'une seule autre classe, mais peut implémenter plusieurs interfaces
class MountainBike : Bicycle, IJumpable, IBreakable class MountainBike : Bicycle, IJumpable, IBreakable
{ {
int damage = 0; int damage = 0;