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
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;
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
ListmyGroceryList = 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" } };
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.
ListmyGroceryList = new List () { "Milk", "Cheese" }; IEnumerable myGroceryIEnumerable = myGroceryList;
DictionarymyGroceryDictionary = new Dictionary (){ {"Dairy", new string[]{"Cheese", "Milk", "Eggs"}} }; Console.WriteLine(myGroceryDictionary["Dairy"][2]);
Los operadores en C# se comportan de manera muy similar a javascript, así que no los describiré aquí
//Logic gate //There's no === in C# myInt == mySecondInt myInt != mySecondInt myInt >= mySecondInt myInt > mySecondInt myIntBucles
? 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; iMé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;
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