首頁  >  文章  >  web前端  >  C# 基礎:從 javascript 開發人員的角度來看

C# 基礎:從 javascript 開發人員的角度來看

Patricia Arquette
Patricia Arquette原創
2024-09-22 16:30:04594瀏覽

C# Basic: From a javascript developer perspective

身為初級開發人員,我一直害怕學習主要使用 OOP 範式的「舊」程式語言。然而,今天我決定忍住,至少試試看。它並不像我想像的那麼糟糕,它與 Javascript 有相似之處。讓我們先來了解一下基礎知識。

本部落格假設您了解 javascript


基本的

資料類型

與動態類型語言 javascript 不同,C# 是靜態類型語言:變數的資料類型在編譯時就已知,這表示程式設計師必須在變數使用時指定變數的資料類型。聲明。

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;

列表/數組

注意:如果使用方法1和2,則無法添加或延長長度
聲明和分配List方法1

string[] myGroceryArray = new string[2]; // 2 is the length
myGroceryArray[0] = "Guacamole";

聲明與分配List方法2

string[] mySecondGroceryArray = { "Apples", "Eggs" };

聲明與分配List方法3

List<string> myGroceryList = new List<string>() { "Milk", "Cheese" };
Console.WriteLine(myGroceryList[0]); //"Milk"
myGroceryList.Add("Oranges"); //Push new item to array

聲明與分配多維列表

「,」的數量將決定尺寸

string[,] myTwoDimensionalArray = new string[,] {
    { "Apples", "Eggs" },
    { "Milk", "Cheese" }
};

IEnumerable/數組

專門用於枚舉或循環的陣列。

你可能會問,「和清單有什麼區別?」。答案是:

IEnumerable 和 List 之間的一個重要區別(除了一個是接口,另一個是具體類別)是 IEnumerable 是唯讀的,而 List 不是。

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]);

營運商

C# 中的運算子的行為與 javascript 非常相似,所以我不會在這裡描述它

條件句

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

循環

?使用 foreach 會比常規 for 迴圈快得多

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# 首先是一種面向 OOP 的語言。

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

聲明命名空間和模型

命名空間用於組織目的,通常用於組織類別

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

從 C# 10 開始,我們也可以這樣宣告命名空間

namespace SampleNamespace;

class AnotherSampleClass
{
    public void AnotherSampleMethod()
    {
        System.Console.WriteLine(
            "SampleMethod inside SampleNamespace");
    }
}

導入命名空間

using HelloWorld.Models;

以上是C# 基礎:從 javascript 開發人員的角度來看的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn