Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 17614|Risposta: 1

[Comunicazione] Gli esempi generici in C# sono spiegati in dettaglio

[Copiato link]
Pubblicato su 28/01/2019 16:03:40 | | | |
1. Cosa è il generico?

I generici sono una nuova sintassi introdotta in C# 2.0, non zucchero sintassi, ma funzionalità fornite dagli aggiornamenti del framework nella 2.0.

Quando programmiamo programmi, spesso incontriamo moduli con funzioni molto simili, ma che gestiscono dati diversi. Ma non abbiamo altra scelta che scrivere più metodi separatamente per gestire diversi tipi di dati. Al momento, la domanda è: esiste un modo per usare lo stesso metodo per gestire diversi tipi di parametri? L'emergere dei generici è specificamente progettato per risolvere questo problema.

2. Perché usare i generici

Diamo un'occhiata al seguente esempio:
Risultato:

Dai risultati sopra possiamo vedere che questi tre metodi hanno le stesse funzioni tranne che per i diversi parametri che passano. Al momento della versione 1.0, non esisteva il concetto di generici, quindi cosa fare. Credo che molte persone penseranno all'eredità di una delle tre principali caratteristiche della POO: sappiamo che in C#, object è la classe base di tutti i tipi, e il codice sopra è ottimizzato come segue:
Risultato:

Dai risultati sopra descritti, possiamo vedere che l'uso del tipo Oggetto soddisfa i nostri requisiti e risolve la riutilizzabilità del codice. Alcuni potrebbero chiedersi perché sia possibile passare int, string, ecc. quando è definito come tipo oggetto? Ci sono due motivi:

1. Il tipo oggetto è la classe genitore di tutti i tipi.

2. Per ereditarietà, le sottoclassi hanno tutti gli attributi e i comportamenti della classe genitore, e ovunque appaia la classe genitore, essa può essere sostituita da sottoclassi.

Ma il metodo del tipo di oggetto sopra portato a un altro problema: il boxing e lo unboxing possono ridurre le prestazioni del programma.

Microsoft ha introdotto i generici in C# 2.0, che possono risolvere molto bene i problemi sopra menzionati.

3. Parametri generici di tipo

In una definizione generica di tipo o metodo, un parametro di tipo è un segnaposto specificato dal client per un tipo specifico quando istanza una variabile del tipo generico. La classe generica (GenericList<T>) non può essere usata così com'è perché non è un vero tipo; È più come un progetto per i tipi. Per utilizzare <T>GenericList, il codice client deve dichiarare e istanziare un tipo di costrutto specificando il parametro di tipo all'interno di parentesi angolari. L'argomento di tipo per questa particolare classe può essere qualsiasi tipo che il compilatore riconosca. Puoi creare qualsiasi numero di istanze di tipo costrutto, ognuna con un parametro di tipo diverso.

Il codice nell'esempio sopra può essere modificato come segue:
Chiamata:
Mostra i risultati:






Precedente:Provider File Core .NET
Prossimo:Nome database MySQL, nome della tabella e nome del campo
Pubblicato su 29/01/2019 04:08:13 |
Molto buono, meticoloso, e le cose di base dovrebbero essere più approfondite
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com