Ho sentito sia i "tipi fondamentali" che i "tipi primitivi" usati.
C'è una differenza in ciò che le due frasi si riferiscono a?
Ho sentito sia i "tipi fondamentali" che i "tipi primitivi" usati.
C'è una differenza in ciò che le due frasi si riferiscono a?
Dopo aver seguito i collegamenti forniti che portano alla documentazione Microsoft e aver masticato le parole per un po ', questo è ciò che ne faccio.
Fondamentale significa legato all'architettura della macchina. Quindi qualsiasi cosa che si adatti ai dati gestiti direttamente dall'hardware nella CPU è fondamentale. Ha senso, vero?
Primitivo significa linguaggio vincolato. I tipi di base supportati direttamente dalla lingua senza la necessità di scrivere una classe o una struttura. Nota che questo include la stringa. Sono le parole chiave blu scuro in C #.
Questi termini sono confusi e vorrei evitare di usarli in un ambiente formale senza una definizione specifica.
In particolare, noto che alcune edizioni della specifica C # usano l'espressione "tipo primitivo" solo due volte, senza definizione e un po 'incoerentemente. Implica sia che "tipo primitivo" significa "tipi di valori predefiniti" e "qualsiasi tipo di valore".
Come osserva il commento di David, questo è in contrasto con la definizione di "tipo primitivo" fornita nella specifica .NET.
Piuttosto che cercare di trovare una definizione di "primitivo", concentrati invece sul dichiarare chiaramente la proprietà che desideri che un dato insieme di tipi abbia. I tipi primitivi sono spesso usati per indicare:
Supporrei che non ci siano differenze in termini di significato. Tuttavia, una ricerca di Google evidenzia la parola chiave "tipo fondamentale" in relazione a Microsoft, .Net e C ++ che suggerisce che è preferibile al posto di "tipo primitivo" all'interno di quelle cerchie.
Leggi altre domande sui tag data-types type-systems terminology