NET Flashcards
¿Quién desarrolla el lenguaje C#?
ECMA 334
ISO/IEC 23270
¿Para que sirve la declaración “sealed” en una clase c#?
Para definir que nadie puede heredar de ella.
Es equivalente al final de Java (para clases) y al NotInheritable de VB.Net
¿Qué es una atributo en .NET?
Una manera de “configurar” en el propio código fuente distintos aspectos.
Se puede aplicar sobre métodos, clases, parámetros,
Podemos acceder a esa información mediante “Reflexion”
Similar a las anotaciones de Java
¿Para que se usa el modificador de acceso “internal” en c#?
Para definir que esa elemento (clase o miembro) solo se puede “ver” desde su mismo ensamblado
Nombre tres “implementaciones” o entornos de ejecución de .NET
.Net Framework
.Net CORE
Mono
¿Que componente del .Net Framework se encarga de la gestión de hilos, memoria, seguridad, …?
CLR (Common Language Runtime)
En c#, ¿que diferencia hay entre una declaración “const” o “readonly”
Cuando se declara una constante con la palabra clave “const”, también se debe asignar el valor
Con “readonly” se puede inicializar más tarde
En c#, ¿que diferencia hay entre declarar un parámetro como “out” o “ref”?
Los dos son parámetros que vamos a pasar por referencia, pero “out” al ser solo de salida no obliga a que el parámetro esté inicializado cuando se invoca al método
Si queremos usar un método de una clase pero sin tener que crear ningún objeto, ¿cómo habría que declararlo?
static en c# (igual que en Java)
shared en vb.net
Cuando se compila un programa .NET, ¿cómo se denomina al producto generado?
CIL (Common Intermediate Language). Antes llamado MSIL.
Es equivalente al bytecode de Java
¿Cuales son los ficheros equivalentes en .NET a los Jar de JAVA?
Assemblies (tienen extensiones .dll o .exe)
¿Que podemos implementar si estamos usando ficheros con extension ASMX en .NET?
Web Services SOAP
¿Con que tecnología podemos desarrollar servicios REST en .NET?
ASP.NET Web API
¿En .NET cual es la tecnología de tipo ORM equivalente a JPA/Hibernate de JAVA?
Entity Framework
¿Con que tecnología de .NET podemos hacer algo equivalente al siguiente código de JAVA que usa Streams y expresiones Lambda?
public int calcularPrecioTotalLambda() {
int precioTotal = this.precios.stream().mapToInt(precio -> precio.intValue()).sum();
return precioTotal;
}
LINQ
var dataset = new [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// the .NET example
dataset.Where(x => x > 5).Sum();
// the Java example
Arrays.stream(data).filter(x -> x > 5).mapToInt(Integer::intValue).sum
// Result: 40