Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 17614|Respuesta: 1

[Comunicación] Los ejemplos genéricos en C# se explican en detalle

[Copiar enlace]
Publicado en 28/1/2019 16:03:40 | | | |
1. ¿Qué es genérico?

Los genéricos son nueva sintaxis introducida en C# 2.0, no azúcar sintáctica, sino características proporcionadas por las actualizaciones del framework en la 2.0.

Cuando programamos programas, a menudo nos encontramos con módulos con funciones muy similares, pero que manejan datos diferentes. Pero no tenemos más remedio que escribir varios métodos por separado para manejar distintos tipos de datos. En este momento, la pregunta es, ¿hay alguna forma de usar el mismo método para tratar diferentes tipos de parámetros? La aparición de los genéricos está diseñada específicamente para resolver este problema.

2. Por qué usar genéricos

Veamos el siguiente ejemplo:
Resultado:

A partir de los resultados anteriores, podemos ver que estos tres métodos tienen las mismas funciones salvo por los diferentes parámetros que cumplen. En la época de la versión 1.0, no existía el concepto de genéricos, así que qué hacer. Creo que mucha gente pensará en la herencia de una de las tres características principales de la POO; sabemos que en C#, object es la clase base de todos los tipos, y el código anterior está optimizado de la siguiente manera:
Resultado:

A partir de los resultados anteriores, podemos ver que usar el tipo de objeto cumple con nuestros requisitos y resuelve la reutilización del código. Algunas personas pueden preguntarse por qué es posible pasar int, cadena, etc., cuando se define como un tipo de objeto. Hay dos razones:

1. El tipo de objeto es la clase madre de todos los tipos.

2. Mediante herencia, las subclases tienen todos los atributos y comportamientos de la clase madre, y dondequiera que aparezca la clase madre, puede ser reemplazada por subclases.

Pero el método de tipo de objeto anterior plantea otro problema: el boxeo y el unboxing pueden reducir el rendimiento del programa.

Microsoft introdujo genéricos en C# 2.0, que pueden resolver muy bien los problemas mencionados.

3. Parámetros genéricos de tipo

En una definición genérica de tipo o método, un parámetro de tipo es un marcador de posición especificado por el cliente para un tipo específico cuando instancia una variable del tipo genérico. La clase genérica (GenericList<T>) no puede usarse tal cual porque no es un tipo verdadero; Es más bien un plano para tipos. Para usar <T>GenericList, el código cliente debe declarar e instanciar un tipo de constructo especificando el parámetro de tipo dentro de corchetes angulares. El argumento de tipo para esta clase en particular puede ser cualquier tipo que el compilador reconozca. Puedes crear cualquier número de instancias de tipo constructo, cada una con un parámetro de tipo diferente.

El código del ejemplo anterior puede modificarse de la siguiente manera:
Llamada:
Resultados de la muestra:






Anterior:Proveedores de archivos .NET Core
Próximo:Consulta de nombre de base de datos MySQL, nombre de tabla y nombre de campo
Publicado en 29/1/2019 4:08:13 |
Muy bien, meticuloso, y las cosas básicas deberían revisarse más
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com