This post serves as an introduction to primitives and expressions. A primitive is a simple type. The post C# Introduction lists all of the C# series of posts we have at this site.
A primitive is a data type. A primitive data type is the most basic type provided by a programming language. In most programming languages, all basic data types are built-in. Basic types include integers, floating point numbers and boolean. Strings in C# are not primitive types.
What are the built-in types in C#? They are: bool, byte, sbyte, char, decimal, double, float, int, uint, long, ulong, object, short, ushort and string. All of the types listed, except object and string, are referred to as simple types. So, string, array, enum, and class are not primitive types.
The C# type keywords and their aliases are interchangeable. For example, you can declare an integer variable by using either of the following declarations. You can create a variable or a constant. Start with a type, an identifier and a value. You cannot use it without assigning a value. We cannot define a constant without setting its value. Identifiers cannot start with a number. Identifiers cannot have whitespace. Identifiers cannot be reserve keywords. Use meaningful names.
floatnumb = 2.876f // the f says float (double is default)
There are three types of casing you can use.
camelCase
PascalCase
strHungarianNotation (generally not used in C# by convention)
Variable Naming
Must start with a letter, underscore or @
Subsequent characters may be letters, underscore or numbers
Cannot contain spaces or symbols (except underscore)
Literals
Are numbers or strings
Some numbers have suffixes (u, U, l, L, f, F, m, M)
Escape sequences for string literals
Strings are reference types
Verbatim Strings
You may specify strings verbatim with the @ symbol:
@”C:\temp\myfile.txt”
We have posts on complex types. The introduction to complex types is at the post called C# Complex Types Introduction.
To display the actual type for any C# type, use the system method GetType(). For example, the following statement displays the system alias that represents the type of myVariable:
/p>
In C# we don’t have overflow checking. If we store 255 into a byte, and add one to it we get zero. If at run time you would rather throw an exception you need to write your code within a block prefixed with the checked keyword. The program will crash unless you handle the exception. In the real world, checked is seldom used by developers as they would probably use a larger type. Incidentally, you can delete a line of code by placing the cursor on the line and pressing Crtl+X.