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.

Lihat juga