Ini muncul di benak saya setelah saya mempelajari yang berikut dari pertanyaan ini :
where T : struct
Kami, pengembang C #, semua tahu dasar-dasar C #. Maksud saya deklarasi, kondisional, loop, operator, dll.
Beberapa dari kita bahkan menguasai hal-hal seperti Generik , tipe anonim , lambdas , LINQ , ...
Tapi apa saja fitur atau trik paling tersembunyi dari C # yang bahkan tidak diketahui oleh penggemar, pecandu, dan pakar C #?
Berikut adalah fitur yang terungkap sejauh ini:
Kata kunci
yield
oleh Michael Stumvar
oleh Michael Stumusing()
pernyataan oleh kokosreadonly
oleh kokosas
oleh Mike Stoneas
/is
dari Ed Swangrenas
/is
(ditingkatkan) oleh Rocketpantsdefault
oleh deathofratsglobal::
oleh pzycomanusing()
blok oleh AlexCusevolatile
oleh Jakub Šturcextern alias
oleh Jakub Šturc
Atribut
DefaultValueAttribute
oleh Michael StumObsoleteAttribute
oleh DannySmurfDebuggerDisplayAttribute
oleh StuDebuggerBrowsable
danDebuggerStepThrough
oleh bdukesThreadStaticAttribute
oleh marxidadFlagsAttribute
oleh Martin ClarkeConditionalAttribute
oleh AndrewBurns
Sintaksis
??
(coalesce nulls) operator oleh kokos- Angka ditandai oleh Nick Berardi
where T:new
oleh Lars Mæhlum- Obat generik implisit oleh Keith
- Satu-parameter lambdas oleh Keith
- Properti otomatis oleh Keith
- Namespace alias oleh Keith
- Verbatim string literals dengan @ by Patrick
enum
nilai oleh lfoust- @variablenames oleh marxidad
event
operator oleh marxidad- Format kurung string dengan Portman
- Pengubah aksesibilitas properti atau akses oleh xanadont
- Operator kondisional (ternary) (
?:
) oleh JasonS checked
danunchecked
operator oleh Binoj Antonyimplicit and explicit
operator oleh Flory
Fitur Bahasa
- Jenis tidak dapat dihapus oleh Brad Barker
- Jenis anonim menurut Keith
__makeref __reftype __refvalue
oleh Judah Himango- Penginisialisasi objek oleh lomaxx
- Memformat string dengan David di Dakota
- Metode Penyuluhan oleh marxidad
partial
metode oleh Jon Erickson- Arahan preprosesor oleh preprosesor John Asbeck
DEBUG
direktif pra-prosesor oleh Robert Durgin- Operator kelebihan oleh SefBkn
- Ketik inferensi berdasarkan chakrit
- Operator Boolean dibawa ke tingkat berikutnya oleh Rob Gough
- Lulus variabel tipe nilai sebagai antarmuka tanpa tinju oleh Roman Boiko
- Secara terprogram menentukan jenis variabel yang dideklarasikan oleh Roman Boiko
- Konstruktor Statis oleh Chris
- Pemetaan ORM yang lebih mudah dilihat / dipadatkan menggunakan LINQ oleh roosteronacid
__arglist
oleh Zac Bowling
Fitur Visual Studio
- Pilih blok teks dalam editor oleh Himadri
- Cuplikan oleh DannySmurf
Kerangka
TransactionScope
oleh KiwiBastardDependantTransaction
oleh KiwiBastardNullable<T>
oleh IainMHMutex
oleh DiagoSystem.IO.Path
oleh ageektrappedWeakReference
oleh Juan Manuel
Metode dan Properti
String.IsNullOrEmpty()
metode oleh KiwiBastardList.ForEach()
metode oleh KiwiBastardBeginInvoke()
,EndInvoke()
metode oleh Will DeanNullable<T>.HasValue
danNullable<T>.Value
properti oleh RismoGetValueOrDefault
metode oleh John Sheehan
Tips dan Trik
- Metode yang bagus untuk penangan acara oleh Andreas HR Nilsson
- Perbandingan huruf besar oleh John
- Akses tipe anonim tanpa refleksi oleh dp
- Cara cepat untuk instantiate properti koleksi dengan malas oleh Will
- JavaScript-seperti fungsi inline anonim oleh roosteronacid
Lain
- netmodules oleh kokos
- LINQBridge oleh Duncan Smart
- Ekstensi Paralel oleh Joel Coehoorn