Sebagai pembangun Junior, saya sentiasa takut untuk mempelajari bahasa pengaturcaraan 'Lama' yang menggunakan paradigma OOP. Walau bagaimanapun, hari ini saya memutuskan untuk menyedutnya dan sekurang-kurangnya mencubanya. Ia tidak seteruk yang saya fikirkan, terdapat persamaan yang dibawa ke Javascript. Mari kita pergi melalui perkara asas dahulu.
Blog ini menganggap pemahaman javascript
Tidak seperti javascript yang merupakan bahasa ditaip secara dinamik, C# ialah bahasa ditaip secara statik: Jenis data pembolehubah diketahui pada masa penyusunan yang bermaksud pengaturcara perlu menentukan jenis data pembolehubah pada masa pembolehubah itu pengisytiharan.
int: number (32bit) decimal: number (128bit) string: string bool: Boolean list[]: Array dictionary{}: Object
-------------- Declaration ---------------- int myInt = 2147483647; decimal myDecimal = 0.751m; // The m indicates it is a decimal string myString = "Hello World"; // Notice the double-quotes bool myBool = true;
Nota: Anda tidak boleh menambah atau memanjangkan panjang jika anda menggunakan kaedah 1 & 2
Mengisytiharkan & memberikan kaedah Senarai 1
string[] myGroceryArray = new string[2]; // 2 is the length myGroceryArray[0] = "Guacamole";
Mengisytiharkan & memberikan kaedah Senarai 2
string[] mySecondGroceryArray = { "Apples", "Eggs" };
Mengisytiharkan & memberikan kaedah Senarai 3
List<string> myGroceryList = new List<string>() { "Milk", "Cheese" }; Console.WriteLine(myGroceryList[0]); //"Milk" myGroceryList.Add("Oranges"); //Push new item to array
Mengisytiharkan & menetapkan Senarai Berbilang Dimensi
Bilangan ',' akan menentukan dimensi
string[,] myTwoDimensionalArray = new string[,] { { "Apples", "Eggs" }, { "Milk", "Cheese" } };
Susun atur yang digunakan khusus untuk menghitung atau menggelung.
Anda mungkin bertanya, "Apakah bezanya dengan senarai?". Jawapannya ialah:
Satu perbezaan penting antara IEnumerable dan List (selain satu antara muka dan satu lagi kelas konkrit) ialah IEnumerable ialah baca sahaja dan List bukan.
List<string> myGroceryList = new List<string>() { "Milk", "Cheese" }; IEnumerable<string> myGroceryIEnumerable = myGroceryList;
Dictionary<string, string[]> myGroceryDictionary = new Dictionary<string, string[]>(){ {"Dairy", new string[]{"Cheese", "Milk", "Eggs"}} }; Console.WriteLine(myGroceryDictionary["Dairy"][2]);
Pengendali dalam C# berkelakuan hampir serupa dengan javascript jadi saya tidak akan menerangkannya di sini
//Logic gate //There's no === in C# myInt == mySecondInt myInt != mySecondInt myInt >= mySecondInt myInt > mySecondInt myInt <= mySecondInt myInt < mySecondInt // If Else if () {} else if () {} else () {} // Switch switch (number) { case 1: Console.WriteLine("lala"); break; default: Console.WriteLine("default"); break; }
? Menggunakan foreach akan menjadi lebih pantas daripada biasa untuk gelung
int[] intArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int totalValue = 0; for (int i = 0; i < intArr.Length; i++) { totalValue += intArr[i]; } int forEachValue = 0; foreach (int num in intArr) { forEachValue += num; }
C# ialah bahasa berorientasikan OOP yang pertama sekali.
namespace HelloWorld { internal class Program { static void Main() { int[] numArr = [1, 2, 3, 4, 5]; int totalSum = GetSum(numArr); } static private int GetSum(int[] numArr) { int totalValue = 0; foreach (var item in numArr) { totalValue += item; } return totalValue; } } }
Ruang nama digunakan untuk tujuan organisasi, biasanya untuk mengatur kelas
namespace HelloWorld.Models { public class Computer { public string Motherboard { get; set; } = ""; public int CPUCores { get; set; } public bool HasWIfi { get; set; } public bool HasLTE { get; set; } public DateTime ReleaseDate { get; set; } public decimal Price { get; set; } public string VideoCard { get; set; } = ""; }; }
Bermula C# 10, kami juga boleh mengisytiharkan ruang nama seperti itu
namespace SampleNamespace; class AnotherSampleClass { public void AnotherSampleMethod() { System.Console.WriteLine( "SampleMethod inside SampleNamespace"); } }
using HelloWorld.Models;
Atas ialah kandungan terperinci C# Basic: Dari perspektif pembangun javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!