che cosa fare di un Microsoft Most-Valued-Professional che crede che i tipi .NET siano primitivi o complessi? [chiuso]

3

Ho pensato che nei tipi .NET fossero o tipi di valore o tipi di riferimento. Ma questo ragazzo, quando gli è stato chiesto dei tipi .NET, ha parlato di "tipi primitivi" e "tipi complessi".

Capisco che le persone a volte usano nomi diversi per riferirsi agli stessi concetti, ma non è strano che un professionista certificato Microsoft utilizzi questo tipo di terminologia?

    
posta RW XV 24.02.2013 - 18:47
fonte

2 risposte

15

Non è affatto strano. "Primitivi" è un po 'di terminologia standard nel mondo della programmazione. Significa una cosa che non è costruita da cose più semplici, ma serve come elemento fondamentale per creare cose più complesse. Quindi "tipi primitivi e tipi complessi" è un modo completamente valido per parlarne.

Può essere usato anche in altri contesti. Ad esempio, primitive di sincronizzazione sono costrutti di basso livello che non sono in realtà tipi di dati primitivi , ma non sono ancora costruiti da altri oggetti di sincronizzazione e possono essere utilizzati per creare oggetti di sincronizzazione di livello superiore, come i monitor.

    
risposta data 24.02.2013 - 19:02
fonte
5

Prima di tutto: penso che potrebbe essere solo una terminologia confusa.

I tipi primitivi, i tipi di valore e i tipi di riferimento sono 3 cose diverse:

  • I tipi primitivi sono quelli che sono incorporati nella lingua come una primitiva. (int, bool e così via). MSDN spesso si riferisce a loro solo come "tipi incorporati".
  • I tipi di valore sono quelli che vengono assegnati in base al valore nello stack. Includono la maggior parte dei tipi primitivi. La definizione formale è tutti i tipi che derivano da System.ValueType; questo include anche tutte le strutture.
  • I tipi di riferimento sono allocati sull'heap e le variabili di quel tipo sono dette riferimenti all'oggetto. È come i puntatori di C, ma C # si prende cura di tutti i tipi e la sicurezza della memoria per te.

Anche se non ho visto alcuna definizione formale per un "tipo complesso" in C #, direi che significa tutti i tipi definiti che non sono primitivi. Questo include sia tipi di valori che tipi di riferimento.

Vedi maggiori informazioni sui tipi su MSDN .

    
risposta data 24.02.2013 - 19:11
fonte

Leggi altre domande sui tag