"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > C# Básico: desde la perspectiva de un desarrollador de JavaScript

C# Básico: desde la perspectiva de un desarrollador de JavaScript

Publicado el 2024-11-01
Navegar:505

C# Basic: From a javascript developer perspective

Como desarrollador junior, siempre me ha asustado aprender un lenguaje de programación "antiguo" que utiliza principalmente el paradigma OOP. Sin embargo, hoy decidí aguantar y al menos intentarlo. No es tan malo como creo, hay similitudes que se trasladan a Javascript. Repasemos primero los conceptos básicos.

Este blog asume comprensión de javascript


Lo básico

Tipos de datos

A diferencia de javascript, que es un lenguaje de tipo dinámico, C# es un lenguaje de tipo estático: el tipo de datos de una variable se conoce en el momento de la compilación, lo que significa que el programador debe especificar el tipo de datos de una variable en el momento de su declaración.

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;

Lista/matriz

Nota: No puedes agregar ni extender la longitud si usas los métodos 1 y 2
Declarar y asignar el método de lista 1

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

Declaración y asignación del método de lista 2

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

Declaración y asignación del método de lista 3

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

Declaración y asignación de lista multidimensional

El número de ',' determinará las dimensiones

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

IEnumerable/matriz

Una matriz que se utiliza específicamente para enumerar o recorrer.

Quizás preguntes: "¿Cuál es la diferencia con la lista?". La respuesta es:

Una diferencia importante entre IEnumerable y List (además de que uno es una interfaz y el otro es una clase concreta) es que IEnumerable es de solo lectura y List no.

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

IEnumerable myGroceryIEnumerable =  myGroceryList;

Diccionario/Objeto

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

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

Operadores

Los operadores en C# se comportan de manera muy similar a javascript, así que no los describiré aquí

Condicionales

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

myInt >= mySecondInt
myInt > mySecondInt
myInt 



Bucles

? Usar foreach será mucho más rápido que el bucle for normal

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

int totalValue = 0;

for (int i = 0; i 



Método

C# es ante todo un lenguaje orientado a programación orientada a programación orientada a programación orientada a objetos.

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

Declaración de espacio de nombres y modelo

El espacio de nombres se utiliza con fines organizativos, normalmente para organizar clases

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

A partir de C# 10, también podemos declarar el espacio de nombres como tal

namespace SampleNamespace;

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

Importando espacio de nombres

using HelloWorld.Models;
Declaración de liberación Este artículo se reproduce en: https://dev.to/itstomlie/c-basic-from-a-javascript-developer-perspective-lnd?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3