Rumah > pembangunan bahagian belakang > C++ > Struktur vs kelas dalam C#: Bilakah anda harus memilih yang mana?

Struktur vs kelas dalam C#: Bilakah anda harus memilih yang mana?

DDD
Lepaskan: 2025-02-01 04:21:07
asal
794 orang telah melayarinya

Structs vs. Classes in C#: When Should You Choose Which?

Bilakah struktur (struct) dan kelas (kelas)

Dalam C#, semasa memilih struktur atau kelas, sila pertimbangkan prinsip -prinsip berikut:

Bila menggunakan struktur:

Jenis ini mewakili satu nilai, sama dengan jenis asas (contohnya, nombor integer dan dual -precision Number Point).

    Saiz contohnya kurang daripada 16 bait.
  • Ia sama (ia tidak boleh diubah selepas penciptaan).
  • Ia tidak akan dikotak secara kerap (ditukar kepada jenis rujukan).
  • Bila menggunakan kelas:

Jenis ini mewakili struktur data berganda atau kompleks.

saiznya lebih besar daripada 16 bait.
  • Ia perlu diubah suai selepas penciptaan.
  • Ia akan sering berkemas atau lulus sebagai parameter rujukan.
  • Kedudukan Microsoft
Microsoft mengesyorkan bahawa struktur digunakan untuk kecil, biasanya contoh pendek, atau keadaan yang tertanam dalam objek lain. Walau bagaimanapun, mereka juga memberi amaran bahawa melainkan jika mereka memenuhi semua ciri -ciri di atas, tidak menentukan struktur.

Contoh

. NET Framework's

Kelas menggunakan struktur dalaman sebagai jenis

dan . Struktur ini mengikuti prinsip -prinsip di atas kerana mereka:

Menunjukkan nilai tunggal (pasangan nilai utama dan keadaan pengarang). Dictionary<TKey, TValue> Entry sangat kecil (kurang daripada 16 bait). Enumerator

adalah sama (selepas penciptaan, data mereka tidak dapat diubah).
  • Elakkan pembungkusan yang kerap (mereka digunakan terutamanya dalam dalaman).
  • Bilakah Microsoft akan melanggar peraturan
  • Walaupun prinsip panduan ini, struktur dalaman Microsoft sering melanggar saiz dan peraturan invarians. Ini adalah untuk memberi keutamaan kepada kelajuan dan kecekapan, kerana contoh struktur dan nisbah kelajuan lebih cepat. Walau bagaimanapun, pengecualian ini harus dikendalikan untuk mengelakkan kemalangan.
Langkah berjaga -jaga lain

Apabila struktur dilaksanakan, ia akan menjadi jenis rujukan apabila ia ditukar ke antara muka.

harus berurusan dengan jenis nilai yang bertanggungjawab untuk mengelakkan penyalinan atau pengubahsuaian secara tidak sengaja.

Kelebihan prestasi struktur terutamanya dicerminkan dalam senario yang melibatkan sejumlah besar atau kerapian penciptaan dan akses kepada item data kecil.

Atas ialah kandungan terperinci Struktur vs kelas dalam C#: Bilakah anda harus memilih yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan