Tutorial C #: Asas yang Anda Perlu Kuasai C #



Artikel mengenai C # Tutorial ini akan membantu anda dengan pengetahuan terperinci mengenai asas C # beserta contoh masa nyata untuk pemahaman yang lebih baik.

C # adalah serba guna dan bahasa pengaturcaraan yang mantap yang dikembangkan oleh Microsoft Corporation pada tahun 2000 sebagai pesaing mematikan Java. Ini adalah bahasa pengaturcaraan yang paling popular dan mendominasi dalam hal pengembangan web dan juga pengembangan aplikasi desktop.

Dalam C # Tutorial ini, kita akan mempelajari konsep berikut.





Asas C #

Pengenalan Bahasa Pengaturcaraan C #

Pada awal 90-an, Java adalah bahasa pengaturcaraan terkemuka untuk pengembangan web, pengembangan aplikasi desktop dan banyak bidang lain. Microsoft ingin menampilkan pesaing dengan banyak ciri canggih yang dapat meninggalkan Java jauh di belakang.



C#-Tutorial-hejlsberg_bio

Pada tahun 2000, Anders Hejlsberg dan pasukan Microsoftnya datang dengan idea C # yang terkenal sebagai C-Sharp. Inisiatif ini diluluskan oleh Organisasi Piawaian Antarabangsa (UTAMA) dan Persatuan Pengilang Komputer Eropah (ECMA). dan akhirnya, The C # memasuki dunia pengembangan perisian.

Ciri Bahasa Pengaturcaraan C #



  • Bahasa Pengaturcaraan Berorientasikan Objek

Pendekatan Pengaturcaraan Berorientasikan Objek adalah yang menjadikan C # tajam menjadi yang paling mesra pengaturcara dan mudah untuk mengembangkan dan mengekalkan bahasa pengaturcaraan.

  • Bahasa Selamat Jenis

Makna Type-Safe adalah bahawa penyusun hanya akan diberi akses ke lokasi memori yang mempunyai izin untuk melaksanakan. Ciri ini meningkatkan keselamatan kod ke tahap eksponensial.

  • Kebolehoperasian

Ciri Interoperabiliti menjadikan C # cukup mampu melakukan semua yang asli dari C ++ dengan cara yang lebih cekap yang dapat mengatasi C ++ itu sendiri.

  • Perpustakaan Kaya

C # menyediakan akses ke beberapa bilangan perpustakaan yang dibina yang menyediakan fungsi yang diprogramkan untuk mengurangkan masa yang dihabiskan dalam proses pembangunan.

  • Boleh diskalakan dan boleh dikemas kini

C # dirancang untuk menjadi unggul di antara bahasa pengaturcaraan lain. Oleh itu, ia sentiasa terbuka untuk kemas kini dan menjadikannya sangat sesuai dengan ciri-cirinya.

  • Berorientasikan Komponen

Pembangun di Microsoft menggunakan pendekatan berasaskan komponen untuk mengembangkan C #. Ini adalah metodologi pengembangan yang paling utama untuk memastikan C # sangat terukur dan dikemas kini.

  • Bahasa Berstruktur

Pendekatan Pemrograman Berstruktur lebih disukai semasa kitaran hidup pengembangan perisian kerana menjadi mudah untuk mengembangkan menyusun dan menggunakan perisian tersebut dibandingkan dengan pendekatan pengaturcaraan yang berorientasikan prosedur.

  • Cepat

Pengaturcaraan C # lebih cepat dalam penyusunan dan pelaksanaan berbanding dengan C ++ dan bahasa pengaturcaraan lain.

Pemasangan

Terbukti bahawa Studio Visual Microsoft adalah yang terbaik dalam kelas Editor untuk Pengaturcaraan C #. Kami akan memasang dan Menyiapkan Microsoft Visual Studio untuk melaksanakan Program C # kami dengan mengikuti langkah-langkah yang disebutkan di bawah:

Langkah 1 : Muat turun Microsoft Visual Studio

Google untuk Visual Studio versi terkini dan muat turun pasang failkan ke dalam sistem tempatan anda dan kemudian lari fail pemasang sebagai pentadbir.

Langkah 2: Pilih Pakej Pembangunan Desktop .NET

Setelah anda menjalankan Pemasang, Editor Visual Studio akan berjaya dimuat turun ke sistem tempatan anda, Kemudian kotak dialog akan dipaparkan di skrin desktop anda meminta musuh pakej tertentu anda perlukan dalam sistem anda. Di sini, anda perlu memilih Pembangunan Desktop .NET pakej.

Langkah 3: Tetapkan Persekitaran C #

Setelah pakej anda untuk Pembangunan BERSIH dimuat turun, kemudian kotak dialog lain akan dipaparkan di skrin anda meminta persekitaran pembangunan yang anda cari. Di sini, anda perlu pilih persekitaran untuk C #.

Langkah 4: Buat Projek Pertama anda

Setelah persekitaran ditetapkan, anda semua boleh pergi. Mulakan Visual Studio anda dan pilih buat projek baru pilihan dalam kotak dialog yang dipaparkan.

Anda akan diarahkan ke kotak dialog seterusnya dan di sana anda perlu memilih Kelas perpustakaan sebagai .NET Standard seperti yang ditunjukkan di bawah.

Di kotak dialog seterusnya, anda akan diminta untuk Konfigurasikan projek anda . Konfigurasikannya dan anda kini berada di Editor. Tulis program pertama anda dan lari ia. Keluaran akan berjaya dipaparkan di Arahan prompt.

menggunakan kelas Sistem Edureka {static void Main (string [] args) {Console.WriteLine ('Welcome to Edureka !, Selamat Belajar ..!')}}

//Pengeluaran:

Mari kita laksanakan Program C # pertama kita.

Struktur Program C #

Sekarang setelah kita melaksanakan Program C # pertama, mari kita memahami strukturnya secara terperinci. Program C # sederhana mempunyai bahagian-bahagian berikut.

menggunakan System namespace ConsoleApplication1 {public class Edureka {public static void Main (string [] args) {Console.WriteLine ('Welcome to Edureka !, Selamat Belajar ..!')}}}

//Pengeluaran:

Selamat Datang di Edureka !, Selamat Belajar ..!

  • kelas: kelas secara amnya boleh didefinisikan sebagai kata kunci yang digunakan untuk menentukan kelas dalam Program C #.
  • Edureka: Ia adalah nama Kelas. Kelas sering dianggap sebagai cetak biru yang menyimpan ahli dan kaedah yang berkaitan dengan kelas.
  • Utama: Pada dasarnya adalah kaedah utama dari keseluruhan Program C #, Ia berfungsi sebagai pintu masuk kawalan untuk memasuki program. Ia dilaksanakan sebelum kaedah program lain dijalankan.
  • tidak sah: Segmen kod ini ditetapkan untuk jenis pulangan kaedah. Ia boleh menjadi Jenis Data selain daripada tidak sah. Void bermaksud kaedah tidak mempunyai data yang dikembalikan daripadanya.
  • statik: Ini adalah satu kata kunci yang mengatakan anggota data yang diisytiharkan adalah statik dan memori khusus diperuntukkan kepada anggota yang diisytiharkan.
  • String [] berpendapat: Ini menyerupai argumen baris perintah yang kami gunakan dalam program kami. Semasa kami melaksanakan program kami, pada dasarnya kami menyampaikan beberapa program hujah, yang akan diterima oleh program kerana penyataan ini.
  • System.Console.WriteLine ('Selamat Datang di Edureka !, Selamat Belajar ..!') Di sini, Sistem adalah ruang nama. Konsoladakah kategori yang digariskandi ruang nama Sistem. The Garis Tulis () adakah itustatikteknikKonsolkategori yang digunakan untuk menuliskanteks pada konsol.

Sekarang, mari kita pelajari Jenis Data yang terdapat di C #.

Jenis data

Jenis data dalam C # dibahagikan kepada tiga kategori yang dijelaskan di bawah.

Jenis Data Nilai

The Jenis Data Nilai terletak di Jenis Sistem.Value Perpustakaan dan sentiasa siap untuk diakses secara langsung dan pemboleh ubah dapat secara langsung diberikan kepada nilai tertentu. Jenis Data Nilai selanjutnya dikelaskan kepada dua jenis seperti yang ditunjukkan di bawah:

  • Jenis Data yang Dipratentukan
  • Jenis Data yang ditentukan oleh pengguna

Jenis Data yang Ditetapkan: Inilah yang biasa kita gunakan dalam pengaturcaraan sehari-hari. Jenis Datat ini ditentukan oleh pembangun bahasa dan sentiasa siap digunakan untuk pengaturcara.

Contoh:

int, float, char, short double, dll

Jenis Data yang Ditentukan Pengguna: Terdapat situasi di mana kita mungkin perlu menyimpan nilai yang berbeza dari Jenis Data ke dalam satu pemboleh ubah tunggal. Dalam kes-kes ini, Jenis Data yang Dipratentukan tidak cukup. Ditentukan oleh Pengguna Jenis data adalah seperti jenis data yang boleh disesuaikan untuk pengguna.

Contoh: Struktur, Enum

Jenis data Julat memori yang diperuntukkan Saiz Ingatan
char ditandatangani -128 hingga 127 1 Bait
char tidak bertanda tangan 0 hingga 127 1 Bait
char -128 hingga 127 1 Bait
ditandatangani pendek -32,768 hingga 32,767 2 Bait
tidak bertanda pendek 0 hingga 65,535 2 Bait
pendek -32,768 hingga 32,767 2 Bait
ditandatangani int -2,147,483,648 hingga -2,147,483,647 4 Bait
int tidak bertanda tangan 0 hingga 4,294,967,295 4 Bait
int -2,147,483,648 hingga -2,147,483,647 4 Bait
ditandatangani lama -9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807 8 Bait
tidak bertanda panjang 0 hingga 18,446,744,073,709,551,615 8 Bait
lama -9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807 8 Bait
terapung 1.5 * 10-45 - 3.4 * 1038, (ketepatan 7 digit) 4 Bait
berganda 5.0 * 10-324 - 1.7 * 10308, (ketepatan 15 digit) 8 Bait
perpuluhan -7.9 * 10-28 - 7.9 * 1028, (ketepatan 28 digit) 16 Bait


Jenis Pointer Pointer

Pointer Type adalah jenis data yang mudah. Fungsinya sama dengan Penunjuk di C. Mereka direka untuk menyimpan alamat penunjuk lain.

terapung * ptr

Jenis Data Rujukan

Nama itu cukup jelas. The Jenis Data Rujukan sebenarnya tidak menyimpan pemboleh ubah, sebaliknya, mereka menyimpan nilai rujukan kepada pemboleh ubah tertentu. Dengan kata lain, mereka menyimpan alamat pemboleh ubah sebenar.

Pemboleh ubah Rujukan diklasifikasikan menjadi tiga jenis yang berbeda seperti yang disebutkan di bawah:

  • Jenis objek

Jenis Datab Objek boleh didapati di Sistem.Objek Kelas.Objek itujenisboleh jadiditugaskan kepadanilai-nilaijenis lain,rujukanjenis, ditentukan sebelumnya, ditentukan oleh penggunajenis. Tetapi sebelumtugasannilai, ia memerlukan menaip penukaran.

objek abc abc = 50 // ini dipanggil tinju
  • Jenis Dinamik

Pemboleh ubah Jenis Dinamik direka untuk menyimpan hampir semua jenis nilai. Ia disebut sebagai Jenis Dinamik kerana pemeriksaan jenis-jenis nilai berlaku dalam jangka masa

dinamik x = 10
  • Jenis Rentetan

Jenis String boleh didapati di Sistem.String kelas. Jenis String direka untuk menyimpan literal rentetan. String Literals disimpan dalam dua bentuk dalamdua bentuk

    • dipetik
    • @ dipetik.
Rentetan S = 'Edureka'
  • The @ dipetik rentetan harfiah kelihatan seperti
@ 'Edureka'

Sekarang mari kita fahami pemboleh ubahnya.

Pemboleh ubah

Pemboleh ubah adalah nama yang diperuntukkan untuk lokasi memori yang menyimpan data tertentu yang diberikan oleh pengguna dan data tersebut mudah diakses dengan menggunakan nama pemboleh ubah. Terdapat lima jenis pemboleh ubah yang terdapat dalam C #

Jenis Contohnya
Batal Data kosong
Boolean Betul dan Salah
Bilangan bulat Int, Char, Byte, Pendek, Panjang
Terapung Terapung dan Berkembar
Perpuluhan Perpuluhan

Contoh:

int a, b double x float p char abc

Peraturan yang harus diikuti untuk menyatakan pemboleh ubah dalam C #

  • Pemboleh ubah boleh merangkumi huruf, digit dan garis bawah.
  • Nama pemboleh ubah hanya boleh dimulakan dengan abjad atau garis bawah sahaja.
  • Pemboleh ubah tidak boleh dimulakan dengan digit atau watak khas.
  • Ruang putih tidak dibenarkan di antara nama pemboleh ubah.
  • Kata kunci yang dilindungi tidak boleh digunakan sebagai nama berubah-ubah.

Pengendali

Operator boleh didefinisikan sebagai simbol khas yang menerangkan komputer untuk melakukan Matematik tertentu adalah Operasi Logik pada satu set pemboleh ubah. C # merangkumi pelbagai Operator yang disebutkan di bawah.

  • Pengendali Aritmetik
  • Pengendali Perhubungan
  • Pengendali Logik
  • Pengendali Bitwise
  • Pengendali Tugasan

Pengendali Aritmetik

Pengendali Contohnya Penerangan
+ A + B Menambah dua Operan
- A - B Ringkaskan dua Operan
* A * B Gandakan dua Operan
/ A / B Membahagi dua Operan
% A% B Baki Dua Operan
++ A ++ Operasi Peningkatan
- KE- Operasi Penurunan

Pengendali Perhubungan

Pengendali Contohnya Penerangan
== A == B Benar, jika kedua-dua operan sama, Else False
! = A! = B Benar, jika kedua-dua operan tidak sama, Else False
> A> B Benar, jika A Lebih Hebat, Lainlah Salah
< KE Benar, jika B Lebih Hebat, Lainlah Salah
> = A> = B Benar, jika A Lebih Besar atau sama, Lainlah Salah
<= KE<= B Benar, id B adalah Lebih Besar sama, Else Palsu

Pengendali Logik

Pengendali Contohnya Penerangan
&& A & B Benar, jika kedua-dua operan itu benar, Else False
|| A || B Benar, jika salah satu operan itu benar, Else False
! A! B Membalikkan keadaan logik operan

Pengendali Bitwise

KE B A & B A | B A ^ B
satu satu satu satu 0
satu 0 0 satu satu
0 satu 0 satu satu
0 0 0 0 0
Pengendali Contohnya Penerangan
~ (~ A) Pengendali Pelengkap Binary One tidak berkesudahan dan mempunyai kesan ‘flipping’ bit.
<< KE<<2 Operator Pergeseran Kiri Perduaan. Nilai operan kiri digerakkan ke kiri dengan bilangan bit yang ditentukan oleh operan kanan.
>> A >> 2 Pengendali Peralihan Kanan Perduaan. Nilai operan kiri digerakkan ke kanan dengan bilangan bit yang ditentukan oleh operan kanan.

Pengendali Tugasan

Pengendali Contohnya Penerangan
= A = B + C A = B + C, B + C diberikan kepada A
+ = A + = B A = A + B, A + B diberikan kepada A
- = A - = B A = A-B, A-B diberikan kepada A
* = A - = B A = A * B, A * B diberikan kepada A
/ = A / = B A = A / B, A / B diberikan kepada A
% = A% = B A = A% B, A% B diberikan kepada A
<<= KE<<= 2 Operator Pergeseran Kiri dan Tugasan
>> = A >> = 2 Operator Peralihan Kanan dan Tugasan
& = A & = 2 Bitwise dan Pengendali Tugasan
^ = A ^ = 2 Pengendali Eksklusif dan Tugasan Bitwise
| = A! = 2 Pengendali Inklusif dan Tugasan Bitwise

Gelung

KE gelung pernyataan digunakan untuk melaksanakan sekatan penyataan berulang kali sehingga keadaan tertentu dipenuhi. Bahasa C # terdiri daripada Pernyataan Gelung berikut.

  • Untuk Gelung
  • Semasa Gelung
  • Lakukan Semasa Gelung

Untuk Gelung

The untuk gelung digunakan untuk melaksanakan segmen kod tertentu untuk beberapa kali sehingga keadaan yang diberikan dipenuhi.

Sintaks

untuk (kenaikan / penurunan keadaan permulaan) {// segmen kod}

Carta Aliran:

Contoh:

menggunakan Sistem awam kelas ForExample {public static void Main (string [] args) {for (int i = 1 i<= 5 i++) { Console.WriteLine(i) } } } 

//Pengeluaran:

satu
2
3
4
5

Semasa Gelung

The Semasa gelung digunakan untuk melaksanakan segmen kod untuk beberapa kali sehingga keadaan tertentu dipenuhi.

Sintaks

sementara (syarat) {// kod yang akan dilaksanakan}

Carta Aliran:

Contoh:

menggunakan Sistem nama Gelung Gelung {kelas Program {static void Main (string [] args) {int x = 5 sementara (x<= 10) { Console.WriteLine('The value of a: {0}', x) x++ } Console.ReadLine() } } } 

//Pengeluaran:

Nilai a: 5
Nilai a: 6
Nilai a: 7
Nilai a: 8
Nilai a: 9
Nilai a: 10

Lakukan Semasa Gelung

Do while loop sama sekali sama dengan While Loop tetapi satu-satunya perbezaan ialah keadaan diletakkan di hujung gelung. Oleh itu, gelung dilaksanakan sekurang-kurangnya sekali.

Sintaks

lakukan {// kod yang akan dilaksanakan} semasa (keadaan)

Carta Aliran:

Contoh:

menggunakan ruang nama Sistem Edureka {class DoWhileLoop {public static void Main (string [] args) {int i = 1, n = 5, produk do {product = n * i Console.WriteLine ('{0} * {1} = { 2} ', n, i, produk) i ++} semasa (i<= 10) } } } 

//Pengeluaran:

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

Bersyarat

Penyataan bersyarat digunakan untuk melaksanakan penyataan atau kumpulan dari penyataan berdasarkan beberapa keadaan. Sekiranya keadaan adalah benar ketika itu Penyataan C # dilaksanakan sebaliknya jika seterusnya penyataan akan dilaksanakan.

Jenis Pernyataan Bersyarat yang berbeza dalam Bahasa C ++ adalah seperti berikut:

  1. Sekiranya penyataan
  2. Penyataan If-Else
  3. Penyataan Bersarang If-else
  4. If-Else If tangga
  5. Tukar pernyataan

Sekiranya penyataan

Yang tunggal sekiranya pernyataan dalam bahasa C # digunakan untuk melaksanakan kod tersebut jika suatu keadaan benar. Ia juga disebut penyataan pemilihan sehala.

Sintaks

if (ungkapan boolean) {// pernyataan yang dilaksanakan jika ungkapan boolean adalah benar}

Carta Aliran:

Contoh:

menghantar dua kali ganda ke int java
menggunakan ruang nama Sistem Bersyarat {class IfStatement {public static void Main (string [] args) {int number = 2 if (number<5) { Console.WriteLine('{0} is less than 5', number) } Console.WriteLine('This statement is always executed.') } } } 

//Pengeluaran:

2 kurang daripada 5
Penyataan ini selalu dilaksanakan.

Penyataan If-Else

The jika tidak pernyataan dalam bahasa C digunakan untuk melaksanakan kod tersebut jika keadaannya benar atau salah. Ia juga disebut penyataan pemilihan dua hala.

Sintaks

if (ungkapan boolean) {// pernyataan yang dilaksanakan jika ungkapan boolean adalah benar} yang lain {// pernyataan yang dilaksanakan jika ungkapan boolean adalah salah}

Carta Aliran:

Contoh:

menggunakan ruang nama Sistem Bersyarat {class IfElseStatement {public static void Main (string [] args) {int number = 12 if (number<5) { Console.WriteLine('{0} is less than 5', number) } else { Console.WriteLine('{0} is greater than or equal to 5', number) } Console.WriteLine('This statement is always executed.') } } } 

//Pengeluaran:

12 lebih besar daripada atau sama dengan 5
Penyataan ini selalu dilaksanakan.

Penyataan Bersarang If-else

Yang bersarang jika tidak pernyataan digunakan apabila program memerlukan lebih daripada satu ungkapan ujian. Ia juga disebut penyataan pemilihan pelbagai arah. Apabila satu siri keputusan terlibat dalam pernyataan, kami menggunakan jika tidak penyataan dalam bentuk bersarang.

Sintaks

if (boolean-expression) {if (bersarang-ekspresi-1) {// kod yang akan dieksekusi} yang lain {// kod yang akan dieksekusi}} lain {jika (bersarang-ekspresi-2) {// kod yang akan dieksekusi } lain {// kod yang akan dilaksanakan}}

Carta Aliran:

Contoh:

menggunakan ruang nama Sistem Bersyarat {class Nested {public static void Main (string [] args) {int first = 7, second = -23, third = 13 if (first & gt second) {if (pertama

//Pengeluaran:

13 adalah yang terbesar

Tangga lain jika tidak

The jika-lain-jika pernyataan digunakan untuk melaksanakan satu kod dari pelbagai keadaan. Ia juga disebut pernyataan keputusan multipath. Ini adalah rantai pernyataan if..else di mana setiap pernyataan jika dikaitkan dengan pernyataan lain jika pernyataan dan terakhir akan menjadi pernyataan lain.

Sintaks

if (condition1) {// code yang akan dieksekusi jika condition1 adalah benar} lain jika (condition2) {// code yang akan dieksekusi jika condition2 itu benar} lain jika (condition3) {// kod yang akan dilaksanakan jika condition3 itu benar} ... lain-lain {// kod yang akan dilaksanakan jika semua syaratnya salah}

Carta Aliran:

Contoh:

menggunakan kelas Sistem Edureka {public static void Main (String [] args) {int i = 20 if (i == 10) Console.WriteLine ('i is 10') lain jika (i == 15) Console.WriteLine (' i is 15 ') other if (i == 20) Console.WriteLine (' i is 20 ') Console.WriteLine yang lain (' saya tidak hadir ')}}

//Pengeluaran:

saya berumur 20 tahun

Tukar pernyataan

Tukar pernyataan bertindak sebagai pengganti tangga panjang if-else-if yang digunakan untuk menguji senarai kes. Pernyataan suis mengandungi satu atau lebih label kes yang diuji terhadap ungkapan suis. Apabila ungkapan sepadan dengan kes maka pernyataan yang berkaitan dengan kes itu akan dijalankan.

Sintaks

suis (pemboleh ubah / ungkapan) {nilai kes1: // Pernyataan yang dilaksanakan jika ungkapan (atau pemboleh ubah) = nilai1 pecah nilai kes 2: // Penyataan yang dilaksanakan jika ungkapan (atau pemboleh ubah) = nilai1 pecah ... ... ... .. . ... ... lalai: // Penyataan dilaksanakan jika tiada kes yang sesuai}

Carta Aliran:

Contoh:

menggunakan ruang nama Sistem Bersyarat {class SwitchCase {public static void Main (string [] args) {char ch Console.WriteLine ('Enter a alphabet') ch = Convert.ToChar (Console.ReadLine ()) suis (Char.ToLower (ch ) case {a ': Console.WriteLine (' Vowel ') break case' e ': Console.WriteLine (' Vowel ') break case' i ': Console.WriteLine (' Vowel ') break case' o ': Console.WriteLine ('Vowel') break case 'u': Console.WriteLine ('Vowel') break default: Console.WriteLine ('Not a vokal') break}}}}

//Pengeluaran:

Masukkan abjad
adalah
Huruf vokal

Rentetan

Tali Jenis data adalah ahli Sistem.String Kelas. Ia mampu menyimpan jenis data watak. Kami boleh melakukan pelbagai operasi di Stings sepertipenggabungan, perbandingan, mendapatkan substring, carian, trim, penggantian dan banyak lagi.

Analogi String dan string

Dalam C # Tali dan tali setaraf. Rentetan perkataan adalah a kata kunci dan bertindak sebagai Sistem.String kelas. Kita boleh menggunakan salah satu versi untuk menyatakan rentetan.

Sintaks:

string s1 = 'Edureka' // membuat string menggunakan kata kunci string String s2 = 'Happy Learning' // membuat rentetan menggunakan kelas String

Contoh:

menggunakan Sistem awam kelas StringExample {public static void Main (string [] args) {string s1 = 'Edureka' char [] ch = {'C', 's', 'h', 'a', 'r', ' p ',' ',' T ',' u ',' t ',' o ',' r ',' i ',' a ',' l '} string s2 = string baru (ch) Console.WriteLine ( s1) Console.WriteLine (s2)}}

//Pengeluaran:

Edureka
Tutorial Csharp

Kaedah Rentetan di C #

Kaedah Penerangan
Klon () Digunakan untuk mengembalikan rujukan untuk contoh String ini.
Bandingkan (String, String) Digunakan untuk membandingkan dua objek String yang ditentukan.
Concat (Rentetan, Rentetan) Gabungkan dua contoh rentetan yang ditentukan.
Mengandungi (Rentetan) Kembalikan nilai yang menunjukkan sub-rentetan yang ditentukan
Salin (Rentetan) Digunakan untuk membuat contoh String baru dengan nilai yang sama
CopyTo (Int, Char [], Int, Int) Menyalin watak dari kedudukan yang ditentukan
Sama dengan (String, String) Menentukan bahawa dua objek String mempunyai nilai yang sama.
Format (Rentetan, Objek) Ganti satu atau lebih item format dalam rentetan yang ditentukan
IndexOf (Rentetan) Melaporkan indeks berasaskan sifar kejadian pertama
Masukkan (Int32, Rentetan) Mengembalikan rentetan baru di mana rentetan dimasukkan pada indeks.
IsInterned (Rentetan) Menunjukkan bahawa tali ini dalam bentuk normalisasi Unicode C.
IsNullOrEmpty (Rentetan) Menunjukkan bahawa tali yang ditentukan adalah nol atau tali kosong.
IsNullOrWhiteSpace (Rentetan) Digunakan untuk menunjukkan sama ada tali yang ditentukan adalah kosong, kosong,
Sertailah (String, String []) Digunakan untuk menggabungkan semua unsur array rentetan
LastIndexOf (Bayaran) Melaporkan kedudukan indeks berasaskan sifar bagi watak terakhir
LastIndexOfAny (Bayaran []) Melaporkan kedudukan indeks berasaskan sifar bagi watak terakhir
Alih Keluar (Int32) Mengembalikan rentetan baru di mana semua watak
Ganti (String, String) Mengembalikan rentetan baru di mana semua kejadian rentetan
Berpisah (Char []) Ini digunakan untuk memisahkan rentetan menjadi substring
Bermula Dengan (Rentetan) Ia digunakan untuk memeriksa sama ada permulaan rentetan ini
Substring (Int32) Ini digunakan untuk mengambil substring dari contoh ini.
ToCharArray () Menyalin watak dalam contoh ini ke array Unicode.
Menjalin() Ini digunakan untuk mengembalikan contoh String.
Potong () Potong tali


Susunan

Sama seperti bahasa pengaturcaraan lain, C # memang mempunyai tatasusunan. Susun atur adalah struktur data mudah yang dirancang untuk menyimpan jenis data elemen yang sama di lokasi memori bersebelahan.

C # menyokong jenis Array berikut.

  • Susunan Dimensi Tunggal
  • Array Multidimensi
  • Array bergerigi

Susunan Dimensi Tunggal

Array Dimensi Tunggal menyimpan elemen dalam bentuk satu baris tunggal.

Sintaks

int [] arr = baru int [5] // membuat susunan

Contoh:

menggunakan Sistem awam kelas ArrayContoh {public static void Main (string [] args) {int [] arr = new int [5] arr [0] = 10 arr [1] = 20 arr [2] = 30 arr [3] = 40 arr [4] = 50 untuk (int i = 0 i 

//Pengeluaran:

10
dua puluh
30
40
lima puluh

Array Multidimensi

Array Multidimensi menyimpan unsur-unsur dalam bentuk pelbagai dimensi seperti matriks dan kubus dll.

Sintaks

int val = a [2,3]

Contoh:

menggunakan ruang nama Sistem ArrayApplication {class MyArray {static void Main (string [] args) {int [,] a = new int [5, 2] {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}} int i, j untuk (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0},{1}] = {2}', i, j, a[i, j]) } } Console.ReadKey() } } } 

//Pengeluaran:

a [0,0] = 0
a [0,1] = 0
a [1,0] = 1
a [1,1] = 2
a [2,0] = 2
a [2,1] = 4
a [3,0] = 3
a [3,1] = 6
a [4,0] = 4
a [4,1] = 8

Array bergerigi

Jagged Array hanyalah susunan tatasusunan.

Contoh:

menggunakan ruang nama Sistem ArrayApplication {class MyArray {static void Main (string [] args) {int [] [] a = new int [] [] {new int [] {0,0}, new int [] {1,2 }, int baru [] {2,4}, int baru [] {3, 6}, int baru [] {4, 8}} int i, j untuk (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0}][{1}] = {2}', i, j, a[i][j]) } } Console.ReadKey() } } } 

//Pengeluaran:

a [0] [0] = 0
a [0] [1] = 0
a [1] [0] = 1
a [1] [1] = 2
a [2] [0] = 2
a [2] [1] = 4
a [3] [0] = 3
a [3] [1] = 6
a [4] [0] = 4
a [4] [1] = 8

Koleksi

Pengumpulan hanya boleh dianggap sebagai sekumpulan objek yang dikumpulkan bersama-sama untuk menerapkan beberapa fungsi pada data yang dikumpulkan. Operasi yang mungkin dilakukan pada koleksi adalah,

  • menyimpan barang
  • kemas kini objek
  • padamkan objek
  • mengambil semula objek
  • mencari objek, dan
  • menyusun objek

Jenis Koleksi

Terdapat tiga kemungkinan berbeza untuk bekerja dengan koleksi. Ketiga-tiga ruang nama tersebut disebutkan di bawah:

  • Sistem.Koleksi.Generik kelas
  • Sistem.Koleksi kelas
  • Sistem. Koleksi. Serentak kelas

The System.Collections.Generic Class mempunyai jenis kelas berikut:

  • Senaraikan
  • Timbunan
  • Beratur
  • Senarai Terpaut
  • HashSet
  • DiasingkanSet
  • Kamus
  • DiurutkanDictionary
  • Senarai Tersusun

The Sistem.Koleksi kelas dianggap sebagai kelas warisan. mereka merangkumi kelas berikut.

  • Senarai Array
  • Timbunan
  • Beratur
  • Meja Hashash

The Sistem. Koleksi. Serentak kelasnamespace menyediakan kelas untuk operasi benang yang selamat. Kini banyak utas tidak akan menimbulkan masalah untuk mengakses item koleksi. kelas yang terdapat dalam ini adalah,

  • Menyekat Koleksi
  • SerentakBag
  • Bersama Bersama
  • Bersamaan Bersamaan
  • SerentakDictionary
  • Partition
  • Partition
  • Partitioner yang boleh ditempah

Senaraikan

The senarai dianggap sebagai struktur data yang terdapat di Sistem.Koleksi.Generik ruang nama. Ia dapat menyimpan dan mengambil elemen. Senarai ini mampu menyimpan unsur pendua.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {var names = new List () names.Add ('Sandhya') names.Add ('Arun') names.Add ( Nama 'Prashanth'). Tambahkan ('Kiran') foreach (nama var dalam nama) {Console.WriteLine (name)}}}

//Pengeluaran:

Sandhya
Arun
Prashanth
Kiran

Set Hash

C # HashSetkategori sering terbiasakedai,bawa pulangataumembaca komponen. Iatidaksimpan penduakomponen.digesauntuk menggunakan HashSet kategorisekiranyaanda telah mendapatuntuk menyimpansemata-mata tersendiri komponen . ia terdapat di ruang nama System.Collections.Generic.

Contoh:

menggunakan Sistem menggunakan Sistem.Collections.Generasi kelas umum Edureka {public static void Main (string [] args) {var names = new HashSet () names.Add ('Sunil') names.Add ('Amar') names.Add ( Nama 'Pujari'). Tambah nama ('Imran'). Tambahkan ('karan') foreach (nama var dalam nama) {Console.WriteLine (name)}}}

//Pengeluaran:

Sunil
Amar
Pujari
Imran
karan

Set yang disusun

C # DiasingkanSetkelas sering terbiasakedai, buang atau membaca unsur . Ia mengekalkan tertib menaik dantidaksimpan penduaunsur.ia segerauntuk menggunakan SortedSetkategorisekiranyaanda telah mendapatuntuk menyimpan tersendiri komponen dan mengekalkan tertib menaik.iaterdapat di ruang nama System.Collections.Generic.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {var names = new SortedSet () names.Add ('Sanjay') names.Add ('Anuradha') names.Add ( Nama 'Praveen'). Tambah nama ('Ravi'). Tambah ('Kajol') foreach (nama var dalam nama) {Console.WriteLine (name)}}}

//Pengeluaran:

Anuradha
Kajol
Praveen
Ravi
Sanjay

Timbunan

The timbunan adalah koleksi ringkas yang berikut HUJUNG atau pertama dalam prosedur keluar terakhir semasa memproses unsur-unsur yang tersimpan di dalamnya.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {Stack names = new Stack () names.Push ('Chandan') names.Push ('Pooja') names.Push ( 'James') names.Push ('Rajesh') names.Push ('kumar') foreach (string string in names) {Console.WriteLine (name)} Console.WriteLine ('Peek element:' + names.Peek () ) Console.WriteLine ('Pop:' + names.Pop ()) Console.WriteLine ('After Pop, Peek element:' + names.Peek ())}}

//Pengeluaran:

kumar
Rajesh
James
Pooja
Chandan
Unsur mengintip: kumar
Pop: kumar
After Pop, Peek elemen: Rajesh

Beratur

Antrian sama dengan Stack tetapi satu-satunya perbezaan ialah Antrian mengikuti FIFO atau prinsip masuk dan keluar pertama semasa memproses unsur-unsur yang tersimpan di dalamnya.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {Queue names = new Queue () names.Enqueue ('Srujan') names.Enqueue ('Prajat') names.Enqueue ( Nama 'John'). Nama Enqueue ('Raju'). Enqueue ('Hari') foreach (nama rentetan dalam nama) {Console.WriteLine (name)} Console.WriteLine ('Peek element:' + names.Peek () ) Console.WriteLine ('Dequeue:' + names.Dequeue ()) Console.WriteLine ('After Dequeue, Peek element:' + names.Peek ())}}

//Pengeluaran:

Srujan
Prajat
John
Garang
Hari
Unsur mengintip: Srujan
Dequeue: Srujan
Selepas Dequeue, mengintip elemen: Prajat

Senarai Terpaut

Senarai terpaut adalah koleksi memori dinamik. Unsur-unsur dalam senarai Terpaut disimpan dengan mengakses memori dari timbunan dan menyimpan unsur-unsur dalam urutan berterusan dengan menghubungkan alamatnya.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {var names = new LinkedList () names.AddLast ('Rajat') names.AddLast ('Arun') names.AddLast ( Nama 'Prakash'). NamaAddLast ('jay') .AddFirst ('sai') foreach (nama var dalam nama) {Console.WriteLine (name)}}}

//Pengeluaran:

sai
Batas
Arun
Prakash
jay

Kamus

Kamus kategorimenggunakanideadari hashtable. Ia menyimpan nilaipremiskunci. Ia mengandungitersendirikuncisemata-mata. Olehpertolongankunci,kita hanya akancari ataumengambil unsur.iaterdapat di ruang nama System.Collections.Generic.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {Kamus nama = nama Kamus baru () nama. Tambah ('1', 'Shiva') nama. Tambah ('2', Nama 'Prasad'). Tambah ('3', 'Preetam') nama. Tambah ('4', 'Roy') nama. Tambah ('5', 'Akash') foreach (KeyValuePair kv dalam nama) {Console. WriteLine (kv.Key + '+ kv.Value)}}}

//Pengeluaran:

1 Siwa
2 Prasad
3 Preetam
4 Roy
5Akash

Kamus Tersusun

The DiurutkanDictionary kategorimenggunakanreka bentukdari hashtable. Ia menyimpan nilaiideakunci. Ia mengandungitersendirikunci dan mengekalkan tertib menaik padaideakunci. Olehpertolongankunci,kita hanya akancari ataumengambil unsur.iaterdapat di ruang nama System.Collections.Generic.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') names.Add ('4', Nama 'Vishal'). Tambah nama ('5', 'Ramesh'). Tambah nama ('3', 'Vidya'). Tambah ('2', 'Pallavi') foreach (KeyValuePair kv dalam nama) {Console. WriteLine (kv.Key + '+ kv.Value)}}}

//Pengeluaran:

1 Siwa
2 Prasad
3 Preetam
4 Roy
5Akash

Senarai Tersusun

The Senarai Tersusun adalahsebuahpelbagai pasangan kunci / nilai. Ia menyimpan nilaipremiskunci. Senarai Tersusunkategorimengandungitersendirikunci dan mengekalkan tertib menaik padapremiskunci. Olehpertolongankunci,kita dapat secara sederhanacari atau alih keluarunsur.iadijumpai di Sistem.Koleksi.Generik ruang nama.

Contoh:

menggunakan Sistem menggunakan System.Collections.Generasi kelas awam Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') names.Add ('4', Nama 'Vishal'). Tambah nama ('5', 'Ramesh'). Tambah nama ('3', 'Vidya'). Tambah ('2', 'Pallavi') foreach (KeyValuePair kv dalam nama) {Console. WriteLine (kv.Key + '+ kv.Value)}}}

//Pengeluaran:

1 Arun
2 Pallavi
3 Vidya
4 Vishal
5Ramesh

Struktur

Strukturnya adalah jenis data yang ditentukan pengguna yang dirancang untuk menyimpan pelbagai elemen dari jenis data yang berbeza. Struktur dinyatakan menggunakan kata kunci struktur.

Contoh:

menggunakan Buku struktur Sistem {public string title public string author public string subject public int book_id} public class Edureka {public static void Main (string [] args) {Books Book1 Books Book2 Book1.title = 'C # Programming' Book1.author = ' Ramchandra Kumar 'Book1.subject =' C ++ Programming Tutorial 'Book1.book_id = 95908978 Book2.title =' Telecom Billing 'Book2.author =' Karan 'Book2.subject =' Telecom Billing Tutorial 'Book2.book_id = 18674900 Console.WriteLine (Book 'Judul buku 1: {0}', Book1.title) Console.WriteLine ('Book 1 Author: {0}', Book1.author) Console.WriteLine ('Subjek buku 1: {0}', Book1.subject) Console.WriteLine ('Book 1 book_id: {0}', Book1.book_id) Console.WriteLine ('Judul Buku 2: {0}', Book2.title) Console.WriteLine ('Pengarang Buku 2: {0}', Book2.author) Console.WriteLine ('Subjek Book 2: {0}', Book2.subject) Console.WriteLine ('Book 2 book_id: {0}', Book2.book_id) Console.ReadKey ()}}

//Pengeluaran:

Tajuk buku 1: Pengaturcaraan C #
Buku 1 Pengarang: Ramchandra Kumar
Buku 1 subjek: Tutorial Pengaturcaraan C ++
Buku 1 book_id: 95908978
Tajuk buku 2: Bil Telekom
Buku 2 Pengarang: Karan
Subjek buku 2: Tutorial Penagihan Telekomunikasi
Buku 2 book_id: 18674900

Fungsi

Fungsi didefinisikan sebagai blok kod utama. Fungsi ini digunakan untuk melaksanakan pernyataan yang ditentukan dalam blok kod. Fungsi terdiri daripada komponen berikut.

  • Nama fungsi: Ini adalah nama khas yang digunakan untuk membuat panggilan Fungsi.
  • Jenis pulangan: Ini menentukan jenis data nilai pengembalian fungsi.
  • Badan: Ia mengandungi pernyataan yang boleh dilaksanakan.
  • Penentu akses: Ini menentukan kebolehaksesan fungsi dalam aplikasi.
  • Parameter: Ini adalah senarai argumen yang dapat kita sampaikan ke fungsi semasa panggilan berlangsung.

Sintaks

FunctionName () {// fungsi badan // penyataan kembali}

Contoh:

menggunakan System namespace FunctionExample {class Edureka {public string Show (string message) {Console.WriteLine ('Inside Show Function') message return} static void Main (string [] args) {Edureka program = Edureka baru () string message = program .Show ('To Edureka') Console.WriteLine ('Welcome' + message)}}}

//Pengeluaran:

Fungsi Pertunjukan Dalam
Selamat Datang Ke Edureka

Fungsi dapat dilaksanakan dengan 3 cara yang berbeza:

  • Panggilan mengikut Nilai
  • Panggilan melalui Rujukan
  • Parameter Keluar

Panggilan mengikut Nilai

Dalam C #, nilai -jenis parameteradalahlulus itureplikadari nilai asal keberfungsi bukannyarujukan. Iatidakubah suainilai pertama. Seorangpindaan dibuatdalam lulusnilai tidakUmurnilai tertentu.Di antaracontoh berikut,kami mempunyailulusnilai sepanjangyangpanggil.

Contoh:

menggunakan ruang nama Sistem CallByValue {class Edureka {public void Show (int val) {val * = val Console.WriteLine ('The value in the show function' + val)} static void Main (string [] args) {int val = 50 Program Edureka = program Edureka () Console.WriteLine baru ('Nilai sebelum memanggil fungsi' + val). Tunjukkan (val) Console.WriteLine ('Nilai setelah memanggil fungsi' + val)}}}

//Pengeluaran:

Nilai sebelum memanggil fungsi 50
Nilai di dalam fungsi menunjukkan 2500
Nilai setelah memanggil fungsi 50

Panggilan melalui Rujukan

Dalam kaedah Call by Reference,ke rujukan kata kunci untuk menyampaikan argumen sebagai jenis rujukan. Ia menyampaikan rujukan argumen ke fungsi daripada salinan nilai asalnya. Perubahan nilai lulus adalah kekal dan ubah suai nilai pemboleh ubah asal.

Contoh:

menggunakan ruang nama Sistem CallByReference {class Edureka {public void Show (ref int val) {val * = val Console.WriteLine ('The value in the show function' + val)} static void Main (string [] args) {int val = 50 program Edureka = program Edureka () Console.WriteLine baru ('Nilai sebelum memanggil fungsi' + val). Tunjukkan (ref val) Console.WriteLine ('Nilai setelah memanggil fungsi' + val)}}}

//Pengeluaran:

Nilai sebelum memanggil fungsi 50
Nilai di dalam fungsi menunjukkan 2500
Nilai setelah memanggil fungsi 2500

Parameter Keluar

Parameter Keluarmenyediakan keluar kata kunci untuk menyampaikan argumen sebagai jenis luar. Ia seperti jenis rujukan, kecuali bahawa ia tidak memerlukan pemboleh ubah untuk memulakan sebelum lulus. Kita mesti menggunakan keluar kata kunci untuk menyampaikan argumen sebagai jenis luar. Ia berguna apabila kita mahu fungsi mengembalikan pelbagai nilai.

Contoh:

menggunakan System namespace OutParameter {class Edureka {public void Show (out int val) {int square = 5 val = square val * = val} static void Main (string [] args) {int val = 50 program Edureka = Edureka baru () Program Console.WriteLine ('Value before pass out variabel' + val). Show (out val) Console.WriteLine ('Nilai setelah menerima pemboleh ubah keluar' + val)}}}

//Pengeluaran:

Nilai sebelum membuang pemboleh ubah 50

Nilaisetelah menerima pemboleh ubah keluar 25

Sekarang mari kita beralih ke pengaturcaraan berorientasikan Objek

Pengaturcaraan Berorientasikan Objek

Pengaturcaraan berorientasikan objek Sistemadalah paradigma pengaturcaraan berdasarkan konsep benda yang mengandungi ahli data dan kaedah berkaitan dengan mereka. Tujuan utama pengaturcaraan berorientasikan objek adalah untuk meningkatkan fleksibiliti dan pemeliharaan program

Ciri-ciri pengaturcaraan berorientasikan objek:

  • Ia lebih menekankan pada data dan bukannya prosedur.
  • Program dibahagikan kepada objek sehingga memudahkan kerja.
  • Struktur data dirancang sedemikian rupa sehingga mereka mencirikan objek.
  • Fungsi yang berfungsi padadata objek diletakkan bersama dalam struktur data.
  • Data disembunyikan dan tidak dapat diakses oleh fungsi luaran tanpa izin.
  • Komunikasi antara objek boleh berlaku dengan bantuan fungsi.
  • Menambah data dan fungsi baru menjadi mudah.
  • Ikuti pendekatan bawah ke atas dalam reka bentuk program.

Paradigma Berorientasikan Objek dalam C # adalah seperti berikut

Penghitungan dalam C #

Enum atau disebut juga sebagai penghitungan di C # digunakan untuk menyimpan nilai tetap tanpa perlu mengubahnya selama keseluruhan pelaksanaan Program C #. Iadigunakan untuk menyimpan sekumpulan pemalar bernama seperti musim, hari, bulan, ukuran dll

Contoh:

menggunakan Sistem awam kelas EnumContoh {minggu enum awam {Isnin, Selasa, Rabu, Khamis, Jumaat, Sabtu, Ahad} kekosongan statik awam Utama () {int x = (int) minggu. Isnin int y = (int) minggu. Jumaat .WriteLine ('Monday = {0}', x) Console.WriteLine ('Friday = {0}', y)}}

//Pengeluaran:

Isnin = 0
Jumaat = 4

Pendekatan Pengaturcaraan Berorientasikan Objek

Gaya pengaturcaraan Berorientasikan Objek dapat dicapai dengan mengikuti kaedah yang ditentukan di bawah.

Enkapsulasi

Enkapsulasi adalah kaedah untuk menggabungkan kaedah bersama dengan mereka ahli data.

Contoh:

menggunakan ruang nama Sistem Edureka {class Rectangle {public double length public double width public double GetArea () {return length * width} public void Display () {Console.WriteLine ('Length: {0}', length) Console.WriteLine (' Lebar: {0} ', width) Console.WriteLine (' Area: {0} ', GetArea ())}} class ExecuteRectangle {static void Main (string [] args) {Rectangle r = new Rectangle () r.length = 50 r. lebar = 35 r. Paparan () Konsol.ReadLine ()}}}

//Pengeluaran:

Panjang: 50
Lebar: 35
Kawasan: 1750

Pengambilan

Pengambilan adalah kaedah untuk bersembunyi bahagian pengekodan kompleks dari pengguna dengan memberikannya hanya maklumat yang diperlukan yang dia perlukan.

Contoh:

menggunakan Sistem awam abstrak bentuk Shape {public abstract void draw ()} public class Rectangle: Shape {public override void draw () {Console.WriteLine ('drawing rectangle ...')}} kelas awam Lingkaran: Bentuk {public override void draw () {Console.WriteLine ('drawing circle ...')}} kelas awam TestAbstrak {public static void Main () {Shape ss = new Rectangle () s.draw () s = new Circle () s.draw ()}}

//Pengeluaran:

melukis segi empat tepat ...
melukis bulatan ...

Antara muka

The antara muka sama dengan Abstraction. Fungsi Antarmuka adalah untuk menyembunyikan data yang tidak penting dari pengguna dan memberikannya satu-satunya data penting yang dia perlukan.

Contoh:

menggunakan antara muka awam Sistem Drawable {void draw ()} kelas awam Rectangle: Drawable {public void draw () {Console.WriteLine ('drawing persegi panjang ...')}} kelas awam Lingkaran: Drawable {public void draw () {Console .WriteLine ('drawing circle ...')}} kelas awam TestInterface {public static void Main () {Drawable dd = new Rectangle () d.draw () d = new Circle () d.draw ()}}

//Pengeluaran:

melukis segi empat tepat ...
melukis bulatan ...

Polimorfisme

Polimorfismeadalah gabungan antara 'Poli' + 'Morf' yang bermaksud banyak bentuk. Ia adalah perkataan Yunani. Ini bermaksud segmen kod boleh mengambil pelbagai bentuk. Kami mempunyai dua jenis Polimorfisme.

  • Menyusun Polimorfisme Masa
  • Jalankan Polimorfisme Masa

Contoh:

menggunakan Sistem awam kelas Haiwan {public string color = 'white'} kelas awam Anjing: Haiwan {public string color = 'black'} kelas awam TestSealed {public static void Main () {Animal d = new Dog () Console.WriteLine ( d.warna)}}

//Pengeluaran:

putih

Warisan

Warisan adalah proses di mana satu objek memperoleh semua sifat dan tingkah laku objek induknya secara automatik. Anda boleh menggunakan semula, memperluas atau mengubah atribut dan tingkah laku yang ditentukan dalam kelas lain. kelas yang mewarisi ahli kelas lain dipanggil kelas turunan dan kelas yang ahli diwarisi dipanggil pangkalan kelas. Kelas yang diperoleh adalah kelas khusus untuk kelas asas.

Contoh untuk Warisan Tahap Tunggal

menggunakan ruang nama Sistem RectangleApplication {class Rectangle {dilindungi double length dilindungi double double public Rectangle (double l, double w) {length = l width = w} public double GetArea () {return length * width} public void Display () {Console. WriteLine ('Length: {0}', length) Console.WriteLine ('Width: {0}', width) Console.WriteLine ('Area: {0}', GetArea ())}} kelas Tabletop: Rectangle {peribadi Tabletop awam kos ganda (double l, double w): base (l, w) {} GetCost berkembar awam () {kos kos dua kali = GetArea () * 70 kos pulangan} paparan kekosongan awam () {base.Display () Console .WriteLine ('Cost: {0}', GetCost ())}} kelas ExecuteRectangle {static void Main (string [] args) {Tabletop t = new Tabletop (4.5, 7.5) t.Display () Console.ReadLine () }}}

//Pengeluaran:

Panjang: 4.5
Lebar: 7.5
Kawasan: 33.75
Kos: 2362.5

Contoh Warisan Berbilang Tahap

menggunakan ruang nama Sistem InheritanceApplication {class Shape {public void setWidth (int w) {width = w} public void setHeight (int h) {height = h} dilindungi int lebar dilindungi int ketinggian} antara muka awam PaintCost {int getCost (int area)} kelas Rectangle: Shape, PaintCost {public int getArea () {return (width * height)} public int getCost (int area) {return area * 70}} class RectangleTester {static void Utama (string [] args) {Rectangle Rect = Rectangle baru () int area Rect.setWidth (5) Rect.setHeight (7) area = Rect.getArea () Console.WriteLine ('Total area: {0}', Rect.getArea ()) Console.WriteLine ('Total kos cat: $ {0} ', Rect.getCost (area)) Console.ReadKey ()}}}

//Pengeluaran:

Jumlah kawasan: 35
Jumlah kos cat: $ 2450

Beban berlebihan

Overloading adalah keadaan di mana kita mempunyai dua atau anggota yang dinyatakan menggunakan nama yang sama. Beban berlebihan juga mungkin berlaku apabila kita menyatakan dua atau lebih kaedah dengan nama yang sama juga. Mari kita periksa contoh kedua-duanya.

Kelebihan Anggota

Contoh:

menggunakan Sistem awam kelas Edureka {public static int add (int a, int b) {return a + b} public static int add (int a, int b, int c) {return a + b + c}} kelas awam TestMemberOverloading { kekosongan statik awam Utama () {Console.WriteLine (Edureka.add (12, 23)) Console.WriteLine (Edureka.add (12, 23, 25))}}}

//Pengeluaran:

35
60

Kaedah Membebankan

Contoh:

menggunakan Sistem awam kelas Edureka {public static int add (int a, int b) {return a + b} public static float add (float a, float b) {return a + b}} kelas awam TestMemberOverloading {public static void Main ( ) {Console.WriteLine (Edureka.add (12, 23)) Console.WriteLine (Edureka.add (12.4f, 21.3f))}}

//Pengeluaran:

35
33.699997

Menimpa

Mengatasi adalah keadaan di mana kelas anak menentukan kaedah yang sama yang ditakrifkan oleh ibu bapa juga. Mari kita fahami ini melalui contoh kecil.

Contoh:

menggunakan Sistem awam kelas Edureka {public virtual void eat () {Console.WriteLine ('Eating')}} kelas awam Dog: Edureka {public override void eat () {Console.WriteLine ('Eating food')}} kelas awam Mengganti {public static void Main () {Dog d = new Dog () d.eat ()}}

//Pengeluaran:

Memakan makanan

Ruang Nama

The ruang nama pada dasarnya digunakan untuk mengendalikan beberapa kelas yang terdapat dalam program ini. Ruang nama boleh didapati dengan pelbagai cara.

  • Sistem. Konsol: Di sini, Sistem menjadi ruang nama
  • Untuk mengakses kelas ruang nama, kita perlu menggunakan namespacename.classname.
  • Kita boleh menggunakan menggunakan kata kunci juga.

Contoh:

menggunakan Sistem menggunakan Pertama menggunakan ruang nama Kedua Pertama {kelas awam Edureka {public void sayWelcome () {Console.WriteLine ('Welcome To Edureka')}}} ruang nama Kedua {kelas awam Happy_Learning {public void sayWishes () {Console.WriteLine (' Happy Learning ')}}} ruang nama kelas awam {public static void Main () {Edureka h1 = new Edureka () Happy_Learning w1 = new Happy_Learning () h1.sayWelcome () w1.sayWishes ()}}

//Pengeluaran:

Selamat Datang Ke Edureka
Selamat Belajar

Operasi Fail

The operasi fail terdapat dalam C # adalah seperti berikut:

Operasi Penerangan
Pembaca Binary Membaca data primitif dari aliran binari.
Penulis Binary Menulis data primitif dalam format binari.
Strim Buffered Penyimpanan sementara untuk aliran bait.
Direktori Membantu memanipulasi struktur direktori.
Maklumat Direktori Digunakan untuk menjalankan operasi di direktori.
DriveInfo Memberi maklumat untuk pemacu.
Fail Membantu memanipulasi fail.
Maklumat Fail Digunakan untuk menjalankan operasi pada fail.
Strim Fail Digunakan untuk membaca dan menulis ke mana-mana lokasi dalam fail.
MemoriStream Digunakan untuk akses rawak ke data aliran yang disimpan dalam memori.
Jalan Melakukan operasi pada maklumat jalan.
StreamReader Digunakan untuk membaca watak dari aliran bait.
Penulis Stream Digunakan untuk menulis watak ke aliran.
StringReader Digunakan untuk membaca dari tali penyangga.
StringWriter Digunakan untuk menulis ke dalam penyangga tali.

Kaedah Fail

The Kaedah Fail adalah penghitung yang menentukan kaedah pembukaan pelbagai fail. Anggota Enumerator FileMode dijelaskan seperti berikut:

  • Lampirkan: Ia membuka fail yang ada dan meletakkan kursor di akhir fail, atau membuat fail jika fail tersebut tidak ada.
  • Buat: Ia dirancang untuk membuat fail baru.
  • Buat baru: Ia dirancang untuk menentukan kepada sistem operasi, bahawa ia harus membuat fail baru.
  • Buka: Ia dirancang untuk membuka fail yang ada.
  • OpenOrCreate: Ia dirancang untuk menentukan sistem operasi bahawa ia harus membuka fail jika ada, jika tidak, ia harus membuat fail baru.
  • Potong: Truncate membuka fail yang ada dan mengurangkan ukurannya menjadi sifar bait.

Akses Fail

Akses Fail Enumerator digunakan untuk mendapatkan akses ke fail tertentu. Ia mempunyai ahli berikut.

  • Baca
  • Tulis
  • Baca tulis

Perkongsian Fail

The Perkongsian fail Enumerator digunakan untuk berkongsi fail tertentu. Ia mempunyai ahli berikut.

  • Tidak dapat diwarisi: Warisan membolehkan pengendalian fail untuk mewarisi proses anak.
  • Tiada: Tidak ada yang menolak perkongsian fail semasa
  • Baca: Baca membolehkan membuka fail untuk dibaca.
  • Baca tulis: ReadWrite membolehkan membuka fail untuk membaca dan menulis.
  • Tulis: Tulis membolehkan membuka fail untuk ditulis.

Acara

Acara umumnya dikenali sebagai tindakan yang dihasilkan oleh pengguna. Ia mungkin satu klik tetikus dan bahkan satu ketukan kekunci dari papan kekunci. Begitu juga, program C # juga mempunyai acara. Penjana peristiwa itu dipanggil penerbit dan penerima acara dipanggil pelanggan.

Penerbit

KE penerbit mengandungi definisi acara dan perwakilan. The perwakilan acara pergaulan ditakrifkan dalam objek ini. A penerbit objek kelas memanggil acara dan ia diberitahu kepada objek lain.

Pelanggan

KE pelanggan menerima acara tersebut dan menyediakan Pengurus acara. The mewakilkan di kelas penerbit memanggil kaedah / peristiwa penangan dari kelas pelanggan.

Contoh:

menggunakan ruang nama Sistem Edureka {string delegasi awam Del (string str) kelas EventBlock {event Del NewEvent public EventBlock () {this.NewEvent + = new Del (this.WelcomeUser)} rentetan awam WelcomeUser (string username) {return 'Welcome To Edureka . '+ username} static void Main (string [] args) {EventBlock obj1 = new EventBlock () hasil rentetan = obj1.NewEvent (' Happy Learning ') Console.WriteLine (hasil)}}}

//Pengeluaran:

Selamat Datang Ke Edureka. Selamat Belajar

Generik

Generik adalah konsep menyediakan ahli dan kaedah kelas dengan pemegang tempat di Masa larian. Kita boleh menentukan penggunaan Generik kurungan. Mari kita perhatikan contoh berikut.

Generik dalam Kelas

menggunakan ruang nama Sistem Edureka {class GenericClass {public GenericClass (T msg) {Console.WriteLine (msg)}} program kelas {static void Main (string [] args) {GenericClass gen = new GenericClass ('Mesej ini adalah dari kelas generik' GenericClass genI = GenericClass baru (123) GenericClass getCh = GenericClass baru ('E')}}}

//Pengeluaran:

Mesej ini adalah dari kelas generik
123
ADALAH

Generik dalam Kaedah

menggunakan ruang nama Sistem Edureka {class GenericClass {public void Show (T msg) {Console.WriteLine (msg)}} program kelas {static void Main (string [] args) {GenericClass genC = new GenericClass () genC.Show ('This mesej adalah dari kaedah generik ') genC.Show (321) genC.Show (' H ')}}}

//Pengeluaran:

Mesej ini adalah dari kaedah generik
321
H

Perwakilan

The Perwakilan bertindak sebagai rujukan kaedah. Pada dasarnya ia sama dengan a penunjuk fungsi di C dan C ++ tetapi jauh lebih baik dan selamat menaip. Perwakilan di kaedah statik merangkumi kaedah sahaja. Sementara perwakilan di contoh kaedah merangkumi kedua-dua kaedah dan contoh. Penggunaan perwakilan terbaik adalah menggunakan sebagai peristiwa.

Contoh:

menggunakan Sistem perwakilan int Kalkulator (int n) kelas awam Edureka {stat int number = 25 public static int add (int n) {number = number + n return number} public static int mul (int n) {number = number * n return number} public static int getNumber () {return number} public static void Main (string [] args) {Calculator c1 = new Calculator (add) Calculator c2 = new Calculator (mul) c1 (20) Console.WriteLine ('Selepas kalkulator satu perwakilan, Nombor baru adalah: '+ getNumber ()) c2 (3) Console.WriteLine (' Setelah kalkulator dua perwakilan, Nombor baru adalah: '+ getNumber ())}}

//Pengeluaran:

Selepas kalkulator satu perwakilan, Nombor baru adalah: 45
Selepas kalkulator dua perwakilan, Nombor baru adalah: 135

Refleksi

Refleksi diperlukan untuk mendapatkan metadata dalam jangka masa. Rujukan boleh didapati di Sistem.Refleksi ruang nama. Ia memerlukan kelas berikut untuk dilaksanakan.

  • Jenis
  • Maklumat Ahli
  • Maklumat Pembina
  • KaedahInfo
  • Maklumat Lapangan
  • Maklumat Harta
  • Jenis Maklumat
  • Maklumat Peristiwa
  • Modul
  • perhimpunan
  • Nama Majlis
  • Penunjuk

Jenis kelas

Jenis kelas C # mewakili deklarasi jenis untuk jenis kelas, jenis antara muka, jenis penghitungan, jenis susunan, jenis nilai

Jenis Properties

Senarai sifat penting kelas Jenis disebutkan di bawah.

Harta tanah Penerangan
perhimpunan Mendapat Perhimpunan untuk jenis ini.
Majlis BerkelayakanNama Mendapatkan nama layak Majlis untuk jenis ini.
Atribut Mendapatkan Atribut yang berkaitan dengan jenisnya.
Jenis Asas Mendapat jenis asas atau ibu bapa.
Nama penuh Mendapat nama jenis yang layak sepenuhnya.
IsAbstrak digunakan untuk memeriksa apakah jenisnya Abstrak.
IsArray digunakan untuk memeriksa apakah jenisnya adalah Array.
IsClass digunakan untuk memeriksa apakah jenisnya adalah Kelas.
IsEnum digunakan untuk memeriksa apakah jenisnya adalah Enum.
Antara muka Is digunakan untuk memeriksa apakah jenisnya adalah Antaramuka.
Adakah Bersarang digunakan untuk memeriksa apakah jenisnya Nested.
IsPrimitive digunakan untuk memeriksa apakah jenisnya Primitif.
IsPointer digunakan untuk memeriksa apakah jenisnya Pointer.
IsNotPublic digunakan untuk memeriksa apakah jenisnya tidak Umum.
Ispublik digunakan untuk memeriksa apakah jenisnya adalah Umum.
Dicapai digunakan untuk memeriksa apakah jenisnya Dimeteraikan.
Boleh Berseragam digunakan untuk memeriksa sama ada jenisnya Bersiri.
Jenis Ahli digunakan untuk memeriksa sama ada jenisnya adalah Jenis anggota jenis bersarang.
Modul Mendapat modul jenis.
Nama Mendapat nama jenis.
Ruang Nama Mendapat ruang nama jenis.
Harta tanah Penerangan
GetConstructors () Mengembalikan semua pembangun awam untuk Jenis.
GetConstructors (BindingFlags) Mengembalikan semua pembina untuk Jenis dengan BindingFlags yang ditentukan.
GetFields () Mengembalikan semua medan awam untuk Jenis.
GetFields (BindingFlags) Mengembalikan semua pembangun awam untuk Jenis dengan BindingFlags yang ditentukan.
GetMembers () Mengembalikan semua anggota awam untuk Jenis.
GetMembers (BindingFlags) Mengembalikan semua ahli untuk Jenis dengan BindingFlags yang ditentukan.
Kaedah Dapatkan () Mengembalikan semua kaedah umum untuk Jenis.
Kaedah Get (BindingFlags) Mengembalikan semua kaedah untuk Jenis dengan BindingFlags yang ditentukan.
GetProperties () Mengembalikan semua sifat awam untuk Jenis.
GetProperties (BindingFlags) Mengembalikan semua sifat untuk Jenis dengan BindingFlags yang ditentukan.
GetType () Mendapat Jenis semasa.
GetType (Rentetan) Mendapat Jenis untuk nama yang diberikan.

Contoh Refleksi:

Dapatkan Jenis

Contoh:

menggunakan Sistem awam kelas GetType {public static void Main () {int a = 10 Type type = a.GetType () Console.WriteLine (type)}}

//Pengeluaran:

Sistem.Int32

Dapatkan Perhimpunan

Contoh:

menggunakan Sistem menggunakan Sistem awam.Reflection GetAssembly {public static void Main () {Type t = typeof (System.String) Console.WriteLine (t.Assembly)}}

//Pengeluaran:

System.Private.CoreLib, Versi = 4.0.0.0, Budaya = neutral, PublicKeyToken = 7cec85d7bea7798e

Maklumat Jenis Cetakan

Contoh:

menggunakan System menggunakan System.Reflection public class PrintType {public static void Main () {Type t = typeof (System.String) Console.WriteLine (t.FullName) Console.WriteLine (t.BaseType) Console.WriteLine (t.IsClass) Console.WriteLine (t.IsEnum) Console.WriteLine (t.IsInterface)}}

//Pengeluaran:

Betul
Salah
Salah

Cetakan Pembina

Contoh:

menggunakan System menggunakan System.Reflection public class PrintConstructors {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Constructors of {0} type ...', t) ConstructorInfo [] ci = t .GetConstructors (BindingFlags.Public | BindingFlags.Instance) foreach (ConstructorInfo c in ci) {Console.WriteLine (c)}}}

//Pengeluaran:

Pembina Sistem. Jenis tali ...
Void. Pelakon (Char [])
Void .ctor (Char [], Int32, Int32)
Void. Pelakon (Char *)
Void .ctor (Char *, Int32, Int32)
Void .ctor (SByte *)
Void .ctor (SByte *, Int32, Int32)
Void .ctor (SByte *, Int32, Int32, System.Text.Ekoding)
Void. Pelakon (Char, Int32)
Void .ctor (System.ReadOnlySpan`1 [System.Char])

Kaedah Mencetak

Contoh:

menggunakan Sistem menggunakan Sistem awam.Reflection PrintMethods {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Methods of {0} type ...', t) MethodInfo [] ci = t .GetMethods (BindingFlags.Public | BindingFlags.Instance) foreach (MethodInfo m in ci) {Console.WriteLine (m)}}}

//Pengeluaran:

Kaedah Sistem. Jenis tali ...
System.String Replace (System.String, System.String)
System.String [] Split (Char, System.StringSplitOptions)
System.String [] Split (Char, Int32, System.StringSplitOptions)
Sistem.String [] Split (Char [])
System.String [] Split (Char [], Int32)
System.String [] Split (Char [], System.StringSplitOptions)
System.String [] Split (Char [], Int32, System.StringSplitOptions)
System.String [] Split (System.String, System.StringSplitOptions)
System.String [] Split (System.String, Int32, System.StringSplitOptions)
System.String [] Split (System.String [], System.StringSplitOptions)
System.String [] Split (System.String [], Int32, System.StringSplitOptions) ......

belajar pl sql dalam talian percuma

Medan Cetak

Contoh:

menggunakan Sistem menggunakan Sistem awam.Reflection PrintFields {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Fields of {0} type ...', t) FieldInfo [] ci = t .GetFields (BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic) foreach (FieldInfo f in ci) {Console.WriteLine (f)}}}

//Pengeluaran:

Bidang Sistem. Jenis tali ...
Sistem.String Kosong

Sekarang, mari kita beralih ke beberapa Konsep Pengaturcaraan C # yang maju

Konsep C # Lanjutan

Fungsi Tanpa Nama

Fungsi yang tidak mempunyai nama tertentu disebut Tanpa Nama Fungsi. Terdapat dua jenis Fungsi Anonim yang terdapat di C #

  • Ungkapan Lambda
  • Kaedah Tanpa Nama

Contoh:

menggunakan ruang nama Sistem LambdaExpressions {class Edureka {delegate int Square (int num) static void Main (string [] args) {Square GetSquare = x => x * x int j = GetSquare (25) Console.WriteLine ('Square:' + j)}}}

//Pengeluaran:

Petak: 625

Kaedah Tanpa Nama

The kaedah tanpa nama memberikan fungsi yang sama seperti ungkapan lambda, kecuali bahawa ia membolehkan kita mengabaikan senarai parameter.

Contoh:

menggunakan ruang nama Sistem AnonymousMethods {class Program {public delegate void AnonymousFun () static void Main (string [] args) {AnonymousFun fun = delegate () {Console.WriteLine ('This is anonymous function')} menyenangkan ()}}}

//Pengeluaran:

Ini adalah fungsi tanpa nama

Berbilang Benang

Multithreading adalah proses di mana beberapa utas dibuat dan ditugaskan untuk tugas yang berbeza. ini menjimatkan masa dengan melaksanakan beberapa pekerjaan dalam satu masa. Kelas multithreading boleh didapati di Sistem. Threading ruang nama.

Sistem. Ruang Nama Threading

The Sistem. Threading namespace mengandungi kelas dan antara muka untuk memudahkan multithreading. Ia menyediakan kelas untuk menyegerakkan sumber utas. Senarai kelas yang biasa digunakan diberikan di bawah:

  • Benang
  • Mutex
  • Pemasa
  • Pantau
  • Semaphore
  • ThreadLocal
  • ThreadPool
  • Tidak menentu

Proses dan utas

Prosesnya sebenarnya dan permohonan dan ia dianggap sebagai kelas berat komponen. Sebaliknya, utasnya satu modul keseluruhan aplikasi. Ia adalah ringan berbanding dengan prosesnya

Kitaran Hidup Benang

Setiap Thread mempunyai Kitaran Hidup. Kitaran Hidup benang ditakrifkan dalam kelas System.Threading.Tread. Berikut adalah tahap-tahap dalam Kitaran Hidup sebarang utas.

  • Tidak dimulakan
  • Runnable (Sedia untuk dijalankan)
  • Berlari
  • Tidak Boleh Dijalankan
  • Mati

Kelas Thread memberikan sifat dan kaedah berikut seperti berikut.

Harta Benang

Harta tanah Penerangan
Thread Semasa mengembalikan contoh thread yang sedang berjalan.
Adakah Hidup memeriksa sama ada benang semasa masih hidup atau tidak.
IsBackground Untuk mendapatkan / menetapkan nilai thread semasa di latar belakang atau tidak.
DiuruskanThreadId digunakan untuk mendapatkan id unik untuk utas yang sedang dikendalikan.
Nama digunakan untuk mendapatkan atau menetapkan nama utas semasa.
Keutamaan digunakan untuk mendapatkan atau menetapkan keutamaan utas semasa.
ThreadState digunakan untuk mengembalikan nilai yang mewakili keadaan utas.

Kaedah Benang

Kaedah Penerangan
Pengguguran () digunakan untuk menamatkan utas. Ini menimbulkan ThreadAbortException.
Mengganggu () digunakan untuk mengganggu utas yang berada dalam keadaan WaitSleepJoin.
Sertailah () digunakan untuk menyekat semua utas panggilan sehingga utas ini berakhir.
Tetapkan SemulaAbort () digunakan untuk membatalkan permintaan Abort untuk utas semasa.
Sambung semula () digunakan untuk menyambung semula benang yang digantung. Ia sudah usang.
Tidur (Int32) digunakan untuk menangguhkan utas semasa untuk milisaat yang ditentukan.
Mulakan () menukar keadaan benang semasa ke Runnable.
Gantung () menangguhkan utas semasa jika tidak digantung. Ia sudah usang.
Hasil () digunakan untuk menghasilkan pelaksanaan utas semasa ke utas lain.

Contoh Benang Utama

menggunakan Sistem menggunakan System.Threading kelas awam Edureka {public static void Main (string [] args) {Thread t = Thread.CurrentThread t.Name = 'MainThread' Console.WriteLine (t.Name)}}

//Pengeluaran:

Thread Utama

Pengendalian Pengecualian

The pengecualian adalah ralat yang dilemparkan oleh program dalam jangka masa pelaksanaannya. Kami melakukan Pengecualian Pengecualian untuk menjadikan pengecualian program kami percuma.

Pengecualian Penerangan
System.DivideByZeroException Ralat dijana dengan membahagi nombor dengan sifar.
Sistem.NullReferenceException menangani ralat yang dihasilkan dengan merujuk objek null.
System.InvalidCastException menangani ralat yang dihasilkan oleh penaipan taip yang tidak betul.
Sistem.IO.IOException menangani ralat Input / Output.
Sistem.FieldAccessException Ralat dijana oleh akses peribadi / dilindungi yang tidak sah.

Dalam C #, kami menggunakan 4 kata kunci untuk melakukan pengendalian pengecualian:

  • cuba
  • tangkap
  • akhirnya, dan
  • baling
Contoh:
menggunakan Sistem awam kelas EdurekContoh {public static void Main (string [] args) {try {int a = 10 int b = 0 int x = a / b} catch (Exception e) {Console.WriteLine (e)} Console.WriteLine ('Mesej ini dari tangkapan')}}

//Pengeluaran:

System.DivideByZeroException: Cuba dibahagi dengan sifar.
di ExExaEdurekample.Main (String [] args) di F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: baris 10
Mesej ini berasal dari blok tangkapan

Contoh Pengecualian yang Disesuaikan

menggunakan Sistem awam kelas InvalidAgeException: Pengecualian {public InvalidAgeException (String message): base (message) {}} kelas awam Disesuaikan {static void validate (int age) {if (umur<18) { throw new InvalidAgeException('Sorry, Age is expected to be greater than 18') } } public static void Main(string[] args) { try { validate(12) } catch (InvalidAgeException e) { Console.WriteLine(e) } Console.WriteLine('Catch block is being executed now.') } } 

//Pengeluaran:

InvalidAgeException: Maaf, Umur dijangka melebihi 18 tahun
di Customized.validate (usia Int32) di F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: baris 18
di Customized.Main (String [] args) di F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: baris 23
Blok tangkapan sedang dijalankan sekarang.

Akhirnya blok contoh

menggunakan Sistem awam kelas FinalExecption {public static void Main (string [] args) {try {int a = 10 int b = 0 int x = a / b} catch (Exception e) {Console.WriteLine (e)} akhirnya {Console .WriteLine ('Akhirnya blok dilaksanakan')} Console.WriteLine ('Catch block dijalankan')}}

//Pengeluaran:

System.DivideByZeroException: Cuba dibahagi dengan sifar.
di FinalExecption.Main (String [] args) di F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: baris 10
Akhirnya blok dilaksanakan
Blok tangkapan dijalankan

Tandatangan Pengecualian Sistem

[SerializableAttribute] [ComVisibleAttribute (true)] kelas awam SystemException: Pengecualian

Pembina Pengecualian Sistem

Pembina Penerangan
Pengecualian Sistem () Ia digunakan untuk menginisialisasi contoh baru kelas SystemException.
Pengecualian Sistem

(SerializationInfo, StreamingContext)

Ini digunakan untuk menginisialisasi contoh baru kelas SystemException dengan data bersiri.
Pengecualian Sistem (Rentetan) Ini digunakan untuk menginisialisasi contoh baru kelas SystemException dengan pesan ralat yang ditentukan.
Pengecualian Sistem (Rentetan, Pengecualian) Ini digunakan untuk menginisialisasi contoh baru kelas SystemException dengan mesej ralat yang ditentukan dan rujukan ke pengecualian dalaman yang menjadi penyebab pengecualian ini.

Sifat Pengecualian Sistem

Harta tanah Penerangan
Data Ini digunakan untuk mendapatkan koleksi pasangan kunci / nilai yang memberikan maklumat tambahan yang ditentukan pengguna mengenai pengecualian.
Pautan Bantuan Ia digunakan untuk mendapatkan atau menetapkan pautan ke fail bantuan yang berkaitan dengan pengecualian ini.
Keputusan HR Ini digunakan untuk mendapatkan atau menetapkan HRESULT, nilai numerik berkod yang diberikan pada pengecualian tertentu.
Pengecualian Dalaman Ini digunakan untuk mendapatkan contoh Pengecualian yang menyebabkan pengecualian saat ini.
Mesej Ia digunakan untuk mendapatkan mesej yang menerangkan pengecualian semasa.
Sumber Ini digunakan untuk mendapatkan atau menetapkan nama aplikasi yang menyebabkan kesalahan.
StackTrace Ini digunakan untuk mendapatkan representasi rentetan dari bingkai langsung pada timbunan panggilan.
Tapak Sasaran Ia digunakan untuk mendapatkan kaedah yang membuang pengecualian semasa.

Kaedah Pengecualian Sistem

Kaedah Penerangan
Sama (Objek) Ia digunakan untuk memeriksa bahawa objek yang ditentukan sama dengan objek semasa atau tidak.
Selesaikan () Ia digunakan untuk membebaskan sumber dan melakukan operasi pembersihan.
GetBaseException () Ia digunakan untuk mendapatkan pengecualian root.
GetHashCode () Ia digunakan untuk mendapatkan kod hash.
GetObjectData

(SerializationInfo, StreamingContext)

Ia digunakan untuk mendapatkan data objek.
GetType () Ia digunakan untuk mendapatkan jenis runtime dari contoh semasa.
Klon Ke Arah Ahli () Ia digunakan untuk membuat salinan cetek Objek semasa.
Menjalin() Ini digunakan untuk membuat dan mengembalikan rentetan representasi pengecualian semasa.

Contoh Pengecualian Sistem

menggunakan ruang nama Sistem CSharpProgram {class SystemExceptionExample {static void Main (string [] args) {try {int [] arr = new int [5] arr [10] = 25} catch (SystemException e) {Console.WriteLine (e)} }}}

//Pengeluaran:

System.IndexOutOfRangeException: Indeks berada di luar batas array.
di CSharpProgram.SystemExceptionExample.Main (String [] args) di F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: baris 11

Penyegerakan

Penyegerakan mungkin merupakan teknik yang membolehkan hanya 1 utas mengakses sumber untuk masa tertentu. Tiada benang alternatif yang akan terganggu sehingga utas yang ditentukan menyelesaikan tugasnya.

Dalam program multithreading, benang dibenarkanuntuk mengakses sebarang sumber untukpelaksanaan yang ditentukanmasa. Thread berkongsi sumber dan laksanakan secara tidak segerak. Mengakses sumber yang dikongsi (data)mungkin menjadi tugas pentingsecara amnyaboleh berhentisistem.kita mempunyai kecenderungan untuk mempengaruhinyadengan membuat-utas secara serentak.

Contoh Tanpa Penyegerakan

menggunakan Sistem menggunakan System.Threading class Edureka {public void PrintTable () {untuk (int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

//Pengeluaran:

satu
satu
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10

Contoh Dengan Penyegerakan

menggunakan Sistem menggunakan System.Threading class Edureka {public void PrintTable () {lock (this) {untuk (int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

//Pengeluaran:

satu
2
3
4
5
6
7
8
9
10
satu
2
3
4
5
6
7
8
9
10

Ciri Baru

Microsoft telah menambahkan banyak ciri terkini ke bahasa C # beberapa di antaranya disebutkan di bawah.

C # 6.0

  • Menggunakan arahan statik
  • Penapis pengecualian
  • Tunggu dalam tangkapan / akhirnya menyekat
  • Permulaan harta automatik
  • Nilai lalai untuk sifat hanya penerima
  • Anggota berbadan ekspresi
  • Penyebar nol
  • Interpolasi rentetan
  • Nama operator
  • Pemula kamus
  • Penyusun sebagai perkhidmatan (Roslyn)

C # 7.0

  • Padankan corak
  • Tuples
  • Pembongkaran
  • Fungsi tempatan
  • Pemisah digit
  • Literal perduaan
  • Kepulangan dan penduduk tempatan
  • Pembina dan penyelesai berbentuk ekspresi
  • Penerima dan setter bertubuh ekspresi
  • Pemboleh ubah keluar
  • Jenis pengembalian async umum

C # 7.1

  • Async utama
  • Ungkapan lalai

Soalan Temu ramah berdasarkan C #

Soalan wawancara penting berdasarkan Bahasa Pengaturcaraan C # boleh didapati dalam kemas kini ini .

Dengan ini, kita akan mengakhiri artikel 'C # Tutorial' ini. Saya harap anda telah memahami kepentingan Struktur Data, Sintaksis, fungsi, dan operasi yang dilakukan menggunakannya. Sekarang anda telah memahami asas Pengaturcaraan dalam C # melalui iniTutorial C #, periksa latihan yang diberikan oleh Edureka pada banyak teknologi seperti Java, Musim bunga dan banyaklebih lagi, syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati di seluruh dunia mendapat soalan untuk kita? Sebutkannya di bahagian komen blog 'C # Tutorial' ini dan kami akan menghubungi anda secepat mungkin.