Articles of clr

.NET vs ASP.NET vs CLR vs ASP

Bien que je connaisse les termes que j’utilisais pour oublier les différences parfois … Donc, juste pour garder une place pour la référence … Merci à tous pour vos réponses.

Dans un switch vs dictionary pour une valeur de Func, laquelle est plus rapide et pourquoi?

Supposons qu’il y ait le code suivant: private static int DoSwitch(ssortingng arg) { switch (arg) { case “a”: return 0; case “b”: return 1; case “c”: return 2; case “d”: return 3; } return -1; } private static Dictionary<string, Func> dict = new Dictionary<string, Func> { {“a”, () => 0 }, {“b”, () => 1 […]

Comportement de moulage étrange. Impossible de convertir l’object (int) en long

J’ai le code suivant: int intNumber1 = 100; object intNumber2 = 100; bool areNumberOfTheSameType = intNumber1.GetType() == intNumber2.GetType(); // TRUE bool areEqual = intNumber1.Equals(intNumber2); // TRUE long longNumber1 = (long) intNumber1; // OK long longNumber2 = (long) intNumber2; // InvalidCastException. Why? Pourquoi le second casting ne fonctionne-t-il pas? Je me rends compte que c’est peut-être […]

CLR vs JIT

Quelle est la différence entre le compilateur JIT et le CLR? Si vous comstackz votre code sur il et que CLR exécute ce code, que fait JIT? Comment la compilation de JIT a-t-elle changé avec l’ajout de génériques au CLR?

Est-ce que lancer la même chose que convertir?

Dans le livre Learning C # de Jesse Liberty, il dit: “Les objects d’un type peuvent être convertis en objects d’un autre type. C’est ce qu’on appelle le casting.” Si vous étudiez l’IL généré à partir du code ci-dessous, vous pouvez clairement voir que l’affectation convertie ne fait pas la même chose que l’affectation convertie. […]

Comment se fait-il qu’un enum dérive de System.Enum et soit un entier à la fois?

Modifier : commentaires en bas. Aussi, ceci . Voici ce qui me déroute. Ma compréhension est que si j’ai un enum comme ça … enum Animal { Dog, Cat } … ce que j’ai essentiellement fait est défini un type de valeur appelé Animal avec deux valeurs définies, Dog et Cat . Ce type dérive […]

Pourquoi la taille de la stack est-elle en C # exactement 1 Mo?

Les PC actuels ont une grande quantité de RAM physique, mais la taille de la stack C # est seulement de 1 Mo pour les processus 32 bits et de 4 Mo pour les processus 64 bits ( capacité de la stack en C # ). Pourquoi la taille de la stack dans CLR est-elle […]

sizeof (int) sur x64?

Quand je fais sizeof(int) dans mon projet C # .NET, je reçois une valeur de retour de 4. Je définis le type de projet sur x64, alors pourquoi dit-il 4 au lieu de 8? Est-ce parce que j’exécute du code géré?

Comment détecter quel runtime .NET est utilisé (MS vs. Mono)?

Je voudrais savoir lors de l’exécution d’un programme s’il est en cours d’exécution en utilisant le runtime Mono ou le runtime Microsoft. J’utilise actuellement le code suivant pour déterminer si je suis sur un MS CLR: static bool IsMicrosoftCLR() { return RuntimeEnvironment.GetRuntimeDirectory().Contains(“Microsoft”); } Cependant, cela dépend quelque peu du dossier d’installation du moteur d’exécution et […]

Pourquoi les génériques C # ne peuvent-ils pas dériver de l’un des parameters de type générique comme ils le peuvent dans les modèles C ++?

Pourquoi les génériques C # ne peuvent-ils pas dériver de l’un des parameters de type générique comme ils le peuvent dans les modèles C ++? Je veux dire, je le sais impossible parce que CLR ne supporte pas cela, mais pourquoi? Je suis conscient des profondes différences entre les modèles C ++ et les génériques […]