"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > C# Basic: من منظور مطور جافا سكريبت

C# Basic: من منظور مطور جافا سكريبت

تم النشر بتاريخ 2024-11-01
تصفح:986

C# Basic: From a javascript developer perspective

كمطور مبتدئ، كنت دائمًا خائفًا من تعلم لغة البرمجة "القديمة" التي تستخدم نموذج OOP بشكل أساسي. ومع ذلك، قررت اليوم أن أتقبله وأجربه على الأقل. إنه ليس سيئًا كما أعتقد، فهناك أوجه تشابه تنتقل إلى جافا سكريبت. دعونا نستعرض الأساسيات أولاً.

تفترض هذه المدونة فهم جافا سكريبت


الأساسية

أنواع البيانات

على عكس جافا سكريبت التي هي لغة مكتوبة ديناميكيا، 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
إعلان وتعيين طريقة القائمة 1

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

إعلان وتعيين طريقة القائمة 2

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

إعلان وتعيين طريقة القائمة 3

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

إعلان وتعيين قائمة متعددة الأبعاد

عدد "،" سيحدد الأبعاد

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

لا يحصى / صفيف

مصفوفة تُستخدم خصيصًا للتعداد أو التكرار.

قد تسأل، "ما الفرق مع القائمة؟". الجواب هو:

أحد الاختلافات المهمة بين IEnumerable وList (إلى جانب كون أحدهما واجهة والآخر فئة محددة) هو أن IEnumerable للقراءة فقط بينما القائمة ليست كذلك.

List myGroceryList = new List() { "Milk", "Cheese" };

IEnumerable myGroceryIEnumerable =  myGroceryList;

قاموس/كائن

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

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

مشغلي

المشغلون في C# يتصرفون بشكل مشابه جدًا لجافا سكريبت لذا لن أصفها هنا

الشروط

//Logic gate
  //There's no === in C#
myInt == mySecondInt 
myInt != mySecondInt 

myInt >= mySecondInt
myInt > mySecondInt
myInt 



الحلقات

؟ سيكون استخدام foreach أسرع بكثير من استخدام حلقة for المعتادة

int[] intArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

int totalValue = 0;

for (int i = 0; i 



طريقة

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;
بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/itstomlie/c-basic-from-a-javascript-developer-perspective-lnd?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3