346Fermer348
GoldenCrystalLe 14/02/2010 à 19:33
./345 > Bah disons que tu as l'endianness qui *pourrait* poser problème en cas d'utilisation de code unsafe (=> pointeurs), et l'initialisation statique des classes non déterministe, qui par définition, est « indéfinie ».
Le C# ne garantit aucun endianness particulier, mais en revanche il spécifie précisément les cas où l'initialisation statique sera déterministe ou non smile
Enfin globalement le langage ne laisse pas grand chose au hasard. Ce qui peut varier c'est au niveau du runtime (ce sont normalement des modifications sans impact, à part sur les performances) et de la bibliothèque de classes utilisée, mais ça s'arrête là smile
Pour le reste, en dehors des types pointeurs/entiers natifs (incluant IntPtr et UIntPtr), tous les types sont comme en Java, parfaitement définis et ont une taille fixe.
Par exemple, sizeof(int) == 4 sera toujours vrai quel que soit le compilateur ou le runtime employé.
C'est bien plus simple que le langage C hein ? cheeky