Maison >développement back-end >Tutoriel C#.Net >Comment utiliser le code managé et le code non managé en C#
Comment utiliser le code managé et le code non managé en C# nécessite des exemples de code spécifiques
En programmation C#, nous devons souvent utiliser du code managé et du code non managé pour réaliser certaines fonctions spécifiques. Le code managé fait référence au code qui s'exécute dans le CLR (Common Language Runtime) et est géré par le CLR pour la gestion de la mémoire et l'allocation des ressources. Le code non géré fait référence au code qui s'exécute directement sur le système d'exploitation et n'est pas contrôlé par le CLR. Ce qui suit présente comment utiliser respectivement le code managé et le code non managé, avec des exemples.
1. Utilisation du code managé
Par exemple, nous souhaitons utiliser une classe managée nommée "MathHelper" en C# pour fournir une méthode statique pour implémenter la fonction d'addition de deux nombres.
using System; public class MathHelper { public static int Add(int a, int b) { return a + b; } } class Program { static void Main(string[] args) { int result = MathHelper.Add(1, 2); Console.WriteLine("The result of adding is: " + result); } }
Dans l'exemple ci-dessus, nous avons défini une classe gérée nommée "MathHelper", qui contient une méthode statique "Add" pour implémenter la fonction d'addition de deux entiers. Dans la méthode Main, nous appelons la méthode Add de la classe MathHelper pour imprimer les résultats.
2. Utilisation de code non managé
Supposons que nous disposions d'une bibliothèque de liens dynamiques (DLL) non gérée qui contient une fonction appelée "NativeHelper" utilisée pour calculer la moyenne de deux nombres. Nous pouvons utiliser cette fonction non gérée à l'aide d'appels de plateforme (P/Invoke) en C#.
using System; using System.Runtime.InteropServices; public class Program { [DllImport("NativeLibrary.dll")] public static extern double CalculateAverage(int a, int b); public static void Main(string[] args) { int num1 = 10; int num2 = 20; double average = CalculateAverage(num1, num2); Console.WriteLine("The average is: " + average); } }
Dans l'exemple ci-dessus, nous utilisons l'attribut [DllImport] pour déclarer des fonctions dans du code non managé. Nous pouvons utiliser cette fonction non gérée en C# en spécifiant le nom de la DLL et le nom de la fonction. Dans la méthode Main, nous appelons la fonction CalculateAverage pour calculer la moyenne de deux entiers et imprimer le résultat.
Il convient de noter que lors de l'utilisation de code non géré, nous devons nous assurer que la libération de mémoire et de ressources est placée dans des endroits appropriés pour éviter les fuites de mémoire et le gaspillage de ressources.
Résumé :
Cet article explique comment utiliser le code managé et le code non managé en C#, et donne des exemples de code spécifiques. Le code managé est géré par le CLR pour la gestion de la mémoire et l'allocation des ressources, et présente les avantages d'une gestion multiplateforme et automatique de la mémoire ; le code non géré est du code directement sur le système d'exploitation et nécessite une gestion manuelle de la mémoire et des ressources. Dans la programmation réelle, nous pouvons utiliser du code managé et du code non managé selon les besoins pour implémenter des fonctions spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!