Vous êtes sur la page 1sur 4

Livre C# tape par tape

Chapter 2 type primitif tous des types valeurs ? Define Assignment Rule, obligation de dfinir une valeur pour une variable, dans le cas contraire erreur compilation NaN & Infinity : 0.0/0.0 = NaN NaN * 0 = NaN Infinity * 0= 0 10 + NaN = NaN 10 + Infinity = Infinity Division 5/2 = 2 (C# round the value down) 5/2.0 = 2.5 (converesion de 5 en double) Modulo disponible sur tous les types !! Nouveaut Prefix & Postfix increment decrement ++count; prefix count++;postfix var(iant), changement impossible aprs dclarations Chapter 3 Overload Chapter 4 operators equality == != realtional < > <= >= logical || && Chapter 6 check or uncheck overflow You can activate and disable overfl ow checking in Visual Studio 2008 by setting the project properties. On the Project menu, click YourProject Properties (where YourProject is the name of your project). In the project properties dialog box, click the Build tab. Click the Advanced button

in the lower-right corner of the page. In the Advanced Build Settings dialog box, select or clear the Check for arithmetic overfl ow/underfl ow check box. int wontThrow = unchecked(int.MaxValue + 1); int willThrow = checked(int.MaxValue + 1); only for integer / long chapter 7 default constructor public toto(){...} si on cre notre propre constructeur (autre que le dfaut) alors le dfaut ne sera pas automatiquement cr par le compilateur partial mthode instance/statique mthode de classe, static field classe anonyme permet de dfinir une classe sans nom, en spcifiant uniquement les field (que public et obligatoirement initialis) utilis avec le var. Le compilateur se fie l'ordre, le type et le nom des fields contenu dans la classe pour en crer une nouvelle ou non var anonym = new {Name="John", Age=42} var other = new {Name="Flo",Age=34} Ces deux variables utilisent la mme classe Chapter 8 Value type vs reference type nullable ref/out stack/heap Nullable types are actually reference types, and they are created on the heap. Poser la question au prof sur les nullabe, fonctionne semble-t-il comme des types reference mais pas vraiment finalement .... essaie avec le code Boxing/unboxing This automatic copying of an item from the stack to the heap is called boxing is and as is retourne true si l'objet est bien du type sinon false as essaie de caster l'objet selon le type dfini, si il ne peut pas le faire il retourne null unsafe chapter 9 cration de nos propres types valeur, enumeration et structure

une enumeration peut tre d'un autre type que int, ex shor ou byte enum Season : short {Sprint,Winter,Summer,...} lors d'un dpassement de l'enum, le runtime le gre comme un int (dans le cas ou notre enum est un int) structure peut contenir des champs, des mthodes et un constructeur comme une classe (mais une structure reste stocke dans la pile /stack) System .Int32, System.float sont des structures, toute strucutre implmente .ToString() pour les structures il n'est pas possible de dclarer un constructeur par dfaut (sans param) la diffrence d'une classe. Il est ncessaire de setter tous les field de notre structure sinon erreur de compilation (cela se produit si on cre notre propre constructeur) Il est impossible d'initialiser un type lors de sa dclaration. (voir tableau diffrent page 176) Chapter 10 copie de tableau collection queue, stack, arraylist. queue et stack ne peuvent pas tre setter lors de l'instanciation car pas de mthode add hashtable, sortedlist page 200 comparaison entre array et collections Chapter 11 params pas 2 params dans une mme mthode, doit tre le dernier paramtre pas de tableau multi dimensionnel pas d'overload possible entre public static int Min(int[] paramlists) public static int Min(params int[] paramlists) pas de ref ni de out priorisation sur les mthode non params Chapter 12 lors de l'hritage si l'on ne call pas nous mme le base() le compilateur le fait lui mme, c'est pourquoi si on a crer notre propre constructeur pour l'objet mre il faut caller base sur le constructeur mre avec les bons paramtre, hypra intressant !! Revoir page 221 class Horse : Mammal { public Horse(string name): base() { ... } ... }

new key word (hidding) virtual/override mthode d'extension

Chapitre 13 inteface, permet de dfinir un contrat classe abstract, permet de dfinir une gnricit de fonctionnement mais sans pouvoir instancier un objet du type de la classe abstract. mthode abstract, obliger la dfinition d'une mthode dans une classe fille, l'instar d'une classe normale avec virtual, elle ne contient aucun body. sealed, mthode ou classe que l'on ne peut pas hrit. On ne peut marquer sealed que des mthode overides une interface introduit le nom d'une mthode une mthode virtuelle est la premire implmentation de la mthode un override est une reecriture de la mthode sealed est la dernire implmentation d'une mthode/classe

Vous aimerez peut-être aussi