Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan kod terurus dan kod tidak terurus dalam C#

Cara menggunakan kod terurus dan kod tidak terurus dalam C#

王林
王林asal
2023-10-10 16:41:151261semak imbas

Cara menggunakan kod terurus dan kod tidak terurus dalam C#

Cara menggunakan kod terurus dan kod tidak terurus dalam C# memerlukan contoh kod khusus

Dalam pengaturcaraan C#, kita selalunya perlu menggunakan kod terurus dan kod tidak terurus untuk mencapai beberapa fungsi tertentu. Kod terurus merujuk kepada kod yang dijalankan dalam CLR (Common Language Runtime) dan diuruskan oleh CLR untuk pengurusan memori dan peruntukan sumber. Kod tidak terurus merujuk kepada kod yang berjalan terus pada sistem pengendalian dan tidak dikawal oleh CLR. Berikut akan memperkenalkan cara menggunakan kod terurus dan kod tidak terurus masing-masing, dengan contoh.

1. Penggunaan kod terurus

  1. Takrifan kod terurus
    Dalam C#, semua kod sumber adalah kod terurus. CLR menyusun kod C# ke dalam bahasa perantaraan IL (Bahasa Pertengahan), dan kemudian menyusunnya menjadi kod mesin untuk pelaksanaan melalui JIT (Just-In-Time) pada masa jalan. Mod operasi ini dapat merealisasikan kelebihan platform silang dan pengurusan memori automatik.
  2. Contoh menggunakan kod terurus

Sebagai contoh, kami ingin menggunakan kelas terurus bernama "MathHelper" dalam C# untuk menyediakan kaedah statik untuk melaksanakan fungsi menambah dua nombor.

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);
    }
}

Dalam contoh di atas, kami menentukan kelas terurus bernama "MathHelper", yang mengandungi kaedah statik "Tambah" untuk melaksanakan fungsi menambah dua integer. Dalam kaedah Utama, kami memanggil kaedah Tambah kelas MathHelper untuk mencetak keputusan.

2. Penggunaan kod tidak terurus

  1. Takrifan kod tidak terurus
    Kod tidak terurus merujuk kepada kod yang berinteraksi secara langsung dengan sistem pengendalian, biasanya ditulis dalam bahasa seperti C atau C++. Memandangkan kod yang tidak diurus secara langsung mengendalikan memori dan sumber sistem, pengurusan memori manual dan keluaran sumber diperlukan.
  2. Contoh menggunakan kod tidak terurus

Andaikan kita mempunyai perpustakaan pautan dinamik (DLL) tidak terurus yang mengandungi fungsi yang dipanggil "NativeHelper" yang digunakan untuk mengira purata dua nombor. Kita boleh menggunakan fungsi tidak terurus ini menggunakan panggilan platform (P/Invoke) dalam 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);
    }
}

Dalam contoh di atas, kami menggunakan atribut [DllImport] untuk mengisytiharkan fungsi dalam kod tidak terurus. Kita boleh menggunakan fungsi tidak terurus ini dalam C# dengan menyatakan nama DLL dan nama fungsi. Dalam kaedah Utama, kami memanggil fungsi CalculateAverage untuk mengira purata dua integer dan mencetak hasilnya.

Perlu diingat bahawa apabila menggunakan kod yang tidak terurus, kita perlu memastikan bahawa pelepasan memori dan sumber diletakkan di tempat yang sesuai untuk mengelakkan kebocoran memori dan pembaziran sumber.

Ringkasan:

Artikel ini memperincikan cara menggunakan kod terurus dan kod tidak terurus dalam C#, dan memberikan contoh kod khusus. Kod terurus diuruskan oleh CLR untuk pengurusan memori dan peruntukan sumber, dan mempunyai kelebihan pengurusan memori silang platform dan automatik adalah kod secara langsung pada sistem pengendalian dan memerlukan pengurusan memori dan sumber secara manual. Dalam pengaturcaraan sebenar, kita boleh menggunakan kod terurus dan kod tidak terurus seperti yang diperlukan untuk melaksanakan fungsi tertentu.

Atas ialah kandungan terperinci Cara menggunakan kod terurus dan kod tidak terurus dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn