En C#-bruker kan definere egne datatyper, bruke de innebygde, eller fra .NET-rammeverket. Primitive datatyper blir automatisk konvertert mellom ren binærform og objektform ut ifra hva brukeren bruker det til, dette kalles og .