Gambaran umum pustaka kelas .NET
Memperkenalkan kelas, antarmuka, dan jenis nilai yang membantu mempercepat dan mengoptimalkan proses pengembangan dan menyediakan akses ke fungsionalitas sistem. Untuk memfasilitasi interoperabilitas antar-bahasa, sebagian besar jenis .NET mematuhi CLS dan karenanya dapat digunakan dari bahasa pemrograman apa pun yang pengompilasinya sesuai dengan spesifikasi bahasa umum (CLS).
Jenis .NET adalah fondasi di mana aplikasi, komponen, dan kontrol .NET dibangun. .NET mencakup jenis yang melakukan fungsi berikut:
- Mewakili jenis dan pengecualian data dasar.
- Merangkum struktur data.
- Melakukan I/O.
- Mengakses informasi tentang jenis yang dimuat.
- Memanggil pemeriksaan keamanan .NET.
- Menyediakan akses data, GUI sisi klien yang kaya, dan GUI sisi klien yang dikontrol server.
.NET menyediakan serangkaian antarmuka yang kaya, serta kelas abstrak dan konkret (non-abstrak). Anda dapat menggunakan kelas konkret apa adanya atau, dalam banyak kasus, memperoleh kelas Anda sendiri dari kelas tersebut. Untuk menggunakan fungsionalitas antarmuka, Anda dapat membuat kelas yang mengimplementasikan antarmuka atau memperoleh kelas dari salah satu kelas .NET yang mengimplementasikan antarmuka.
Konvensi penamaan
Jenis .NET menggunakan skema penamaan sintaks titik yang menunjukkan hierarki. Teknik ini mengelompokkan jenis terkait ke dalam namespace sehingga dapat dicari dan direferensikan dengan lebih mudah. Bagian pertama dari nama lengkap—hingga titik paling kanan—adalah nama namespace layanan. Bagian terakhir dari nama adalah nama jenis. Misalnya, System.Collections.Generic.List<T>
mewakili List<T>
jenis , yang termasuk dalam System.Collections.Generic
namespace. Jenis di System.Collections.Generic dapat digunakan untuk bekerja dengan koleksi generik.
Skema penamaan ini memudahkan pengembang pustaka memperluas .NET untuk membuat grup jenis hierarkis dan memberi nama dengan cara yang konsisten dan informatif. Ini juga memungkinkan jenis untuk diidentifikasi secara tidak ambigu dengan nama lengkapnya (yaitu, dengan namespace layanan dan nama jenisnya), yang mencegah tabrakan nama jenis. Pengembang pustaka diharapkan menggunakan konvensi berikut saat membuat nama untuk namespace layanan mereka:
CompanyName.TechnologyName
Misalnya, namespace Microsoft.Word
sesuai dengan panduan ini.
Penggunaan pola penamaan untuk mengelompokkan jenis terkait ke dalam namespace adalah cara yang berguna untuk membangun dan menkomentasikan pustaka kelas. Namun, skema penamaan ini tidak berpengaruh pada visibilitas, akses anggota, pewarisan, keamanan, atau pengikatan. Namespace dapat dipartisi di beberapa assembly dan satu assembly dapat berisi jenis dari beberapa namespace. Assembly menyediakan struktur formal untuk penerapan versi, penyebaran, keamanan, pemuatan, dan visibilitas dalam runtime bahasa umum.
Untuk informasi selengkapnya tentang namespace layanan dan nama jenis, lihat Sistem Jenis Umum.
Namespace layanan sistem
Namespace System adalah namespace layanan akar untuk jenis dasar di .NET. Namespace layanan ini mencakup kelas yang mewakili jenis data dasar yang digunakan oleh semua aplikasi, misalnya, Object (akar hierarki pewarisan), Byte, , Char, Array, Int32, dan String. Banyak dari jenis ini sesuai dengan jenis data primitif yang digunakan bahasa pemrograman Anda. Saat Anda menulis kode menggunakan jenis .NET, Anda dapat menggunakan kata kunci terkait bahasa Anda saat jenis data dasar .NET diharapkan.
The following table lists the base types that .NET supplies, briefly describes each type, and indicates the corresponding type in Visual Basic, C#, C++, and F#.
Kategori | Nama Kelas | Deskripsi | Jenis data Visual Basic | Jenis data C# | Jenis data C++/CLI | Jenis data F# |
---|---|---|---|---|---|---|
Bilangan bulat | Byte | Bilangan bulat tidak bertanda 8-bit. | Byte |
byte |
unsigned char |
byte |
SByte | Bilangan bulat bertanda 8-bit. Tidak sesuai dengan CLS. |
SByte |
sbyte |
char atau signed char |
sbyte |
|
Int16 | Bilangan bulat bertanda 16-bit. | Short |
short |
short |
int16 |
|
Int32 | Bilangan bulat bertanda 32-bit. | Integer |
int |
int atau long |
int |
|
Int64 | Bilangan bulat bertanda 64-bit. | Long |
long |
__int64 |
int64 |
|
UInt16 | Bilangan bulat tidak bertanda 16-bit. Tidak sesuai dengan CLS. |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | Bilangan bulat tidak bertanda 32-bit. Tidak sesuai dengan CLS. |
UInteger |
uint |
unsigned int atau unsigned long |
uint32 |
|
UInt64 | Bilangan bulat tidak bertanda 16-bit. Tidak sesuai dengan CLS. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Floating-point | Half | Angka titik mengambang setengah presisi (16-bit). | ||||
Single | Angka titik mengambang setengah presisi (32-bit). | Single |
float |
float |
float32 atau single |
|
Double | Angka titik mengambang setengah presisi (64-bit). | Double |
double |
double |
float atau double |
|
Logika | Boolean | Nilai Boolean (benar atau salah). | Boolean |
bool |
bool |
bool |
Lainnya | Char | Karakter Unicode (16-bit). | Char |
char |
wchar_t |
char |
Decimal | Nilai desimal (128-bit). | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | Bilangan bulat bertanda tangan yang ukurannya tergantung pada platform yang mendasar (nilai 32-bit pada platform 32-bit dan nilai 64-bit pada platform 64-bit). | nint |
unativeint |
|||
UIntPtr | Bilangan bulat bertanda tangan yang ukurannya tergantung pada platform yang mendasar (nilai 32-bit pada platform 32-bit dan nilai 64-bit pada platform 64-bit). Tidak sesuai dengan CLS. |
nuint |
unativeint |
|||
Object | Akar hierarki objek. | Object |
object |
Object^ |
obj |
|
String | String karakter Unicode yang tidak dapat diubah dan panjang tetap. | String |
string |
String^ |
string |
Selain jenis data dasar, System namespace berisi lebih dari 100 kelas, mulai dari kelas yang menangani pengecualian hingga kelas yang menangani konsep runtime bahasa umum inti, seperti domain aplikasi dan pengumpul sampah. Namespace System juga berisi banyak namespace tingkat kedua.
Untuk informasi selengkapnya tentang namespace, gunakan Browser .NET API untuk menelusuri Pustaka Kelas .NET. Dokumentasi referensi API menyediakan dokumentasi tentang setiap namespace layanan, jenisnya, dan masing-masing anggotanya.
Struktur data
.NET menyertakan sekumpulan struktur data yang merupakan workhorse dari banyak aplikasi .NET. Ini sebagian besar adalah kumpulan, tetapi juga termasuk jenis lain.
- Array - Mewakili array objek yang sangat diketik yang dapat diakses oleh indeks. Memiliki ukuran tetap, sesuai konstruksinya.
- List<T> - Mewakili array objek yang sangat diketik yang dapat diakses oleh indeks. Diubah ukurannya secara otomatis sesuai kebutuhan.
- Dictionary<TKey,TValue> - Mewakili kumpulan nilai yang diindeks oleh kunci. Nilai dapat diakses melalui kunci. Diubah ukurannya secara otomatis sesuai kebutuhan.
- Uri - Menyediakan representasi objek dari pengidentifikasi sumber daya seragam (URI) dan akses mudah ke bagian URI.
- DateTime - Mewakili instan dalam waktu, biasanya dinyatakan sebagai tanggal dan jam hari.
API Utilitas
.NET menyertakan sekumpulan API utilitas yang menyediakan fungsionalitas untuk banyak tugas penting.
- HttpClient - API untuk mengirim permintaan HTTP dan menerima respons HTTP dari sumber daya yang diidentifikasi oleh URI.
- XDocument - API untuk memuat dan mengkueri dokumen XML dengan LINQ.
- StreamReader - API untuk membaca file.
- StreamWriter - API untuk menulis file.
API model aplikasi
Ada banyak model aplikasi yang dapat digunakan dengan .NET, misalnya:
- ASP.NET - Kerangka kerja web untuk membangun situs web dan layanan. Didukung di Windows, Linux, dan macOS (tergantung versi ASP.NET).
- .NET MAUI - Platform aplikasi untuk membangun aplikasi asli yang berjalan di Windows, macOS, iOS, dan Android menggunakan C#.
- Windows Desktop - Termasuk Windows Presentation Foundation (WPF) dan Formulir Windows.