Rumah  >  Artikel  >  hujung hadapan web  >  C# Basic: Dari perspektif pembangun javascript

C# Basic: Dari perspektif pembangun javascript

Patricia Arquette
Patricia Arquetteasal
2024-09-22 16:30:04594semak imbas

C# Basic: From a javascript developer perspective

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


Yang Asas

Jenis Data

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;

Senarai/Array

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" }
};

IEnumerable/Array

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;

Kamus/Objek

Dictionary<string, string[]> myGroceryDictionary = new Dictionary<string, string[]>(){
    {"Dairy", new string[]{"Cheese", "Milk", "Eggs"}}
};

Console.WriteLine(myGroceryDictionary["Dairy"][2]);

Operator

Pengendali dalam C# berkelakuan hampir serupa dengan javascript jadi saya tidak akan menerangkannya di sini

bersyarat

//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;
}

gelung

? 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;
}

Kaedah

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;
        }
    }
}

Mengisytiharkan Ruang Nama & Model

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");
    }
}

Mengimport Ruang Nama

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn