./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

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à

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 ?
