> 웹 프론트엔드 > JS 튜토리얼 > C# 기본: JavaScript 개발자 관점에서

C# 기본: JavaScript 개발자 관점에서

Patricia Arquette
풀어 주다: 2024-09-22 16:30:04
원래의
625명이 탐색했습니다.

C# Basic: From a javascript developer perspective

저는 주니어 개발자로서 OOP 패러다임을 주로 사용하는 '구식' 프로그래밍 언어를 배우는 것이 항상 두려웠습니다. 그러나 오늘 나는 그것을 빨아들이고 적어도 시도해 보기로 결정했습니다. 제가 생각하는 것만큼 나쁘지는 않습니다. 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";
로그인 후 복사

목록 방법 2 선언 및 할당

string[] mySecondGroceryArray = { "Apples", "Eggs" };
로그인 후 복사

목록 방법 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#의 연산자는 자바스크립트와 매우 유사하게 동작하므로 여기서는 설명하지 않겠습니다

조건부

//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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿